Тренажеры HTML Academy (HTML, CSS, JS, React) + Академия + Книга рецептов фронтендера + комьюнити за 99 рублей: boosty.to/how-to-learn-it Какие тренажеры бывают: htmlacademy.ru/courses#fe-start В моем Telegram - канале "Как пройти в IT?" публикуется ровно один пост в день! Это отборный и полезный материал для вашего развития! На пути в синьоры-помидоры важно каждый день уделять образованию хотя бы 10-15 минут! Подписывайтесь: t.me/howToLearnIT ________________ 0:00 Пролог 00:58 Первое правило чистого кода 02:00 Пиши, Сокращай 02:50 Общее и частное 03:33 Проблема, которая есть в каждом проекте 05:40 Как укратить функцию? 08:11 Линтер - верный спутник чистого кода 09:02 Открытость - Закрытость 09:27 Гигантизм 10:15 Какие комментарии самые полезные? 11:40 Газетная метафора в JavaScript 12:32 Порядок в доме 13:35 Психология фронтенда 14:00 Настольная книга, каждого разработчика 14:26 Резюме ________________ Упоминаются в ролике: 1) PowerThesaurus - www.powerthesaurus.org/ 2) Чистый код Мартин Роберт К. #JavaScript #js #Frontend #Программирование
Что творит, ты посмотри на него, глядишь и код писать научимся :) Спасибо за видео, на конец то у меня есть аргументы и ссылочка, почему делать нужно именно так а не как иначе. Не мало нового узнал что жило в мое голове, ну не было возможности описать это коллегам, спасибо и за это!!!
Офигенно качественный контент! Контент других похожих ютуберов которых мне кидает в рекомендациях и рядом не стоит с твоим (ДЖАВАСКРИПТИЗЕРЫ | КИРИЛЛ ПОЗДНЯКОВ, purple group)
Хорошая тема. Чтобы код был чистый, понятный, эффективный и может быть даже красивый - это и вправду целое искусство! Развиваемся и качаем навыки, дамы и господа))
Неплохой подход к донесению информации!) Но делать столько примеров на Классах?) Сейчас редко встретишь адекватный проект на классах. ФП, маст хев) Личное субьективное мнение)
@@Volodymyr-Serhiovych А если проект на angular2+? А проекты на nestjs? Там же почти все на классах. Может вы просто много лет писали на react и у вас сформировалась проф. деформация?
Про черточки: пока в JS/TS не появятся # или {public get; private set} как в C# мы так и будем писать черточки. Иначе как ты назовешь одно и то же поле только одно это публичный геттер, а другое - приватное поле? field и privateField?
Простите, а если надо посчитать координаты? Например написать функцию которая ищет пересечение двух линий, то вместо x, y, нужно писать что-то вроде xCoordinate, yCoordinate?
Фигня это, если цикл не более 3-5 строк, то i вполне годится. Если цикл в цикле, то тут на любителя, я бы дал осмысленные имена переменным, т.к. приростить i во вложенном цикле - классика. Но тут, конечно, имхо.
0:33 то чувство когда ты фрилансер и очень далек от всей этой темы с ревьверами, менеджерами, и прочими непонятным словам которые означают не понятных людей, У меня есть один крупный заказчик, но они сайтом не на столько занимаются что бы нанимать прям команду, я им один сайт допиливаю, сам слежу и сам правлю )
Тоже удивился такому подходу в видео. Однажды видел лекцию, где преподаватель настаивал, что программу НУЖНО начинать с комментариев, а уже потом кодить. Тема явно неоднозначная.
По поводу приватных полей в js, такие методы ложатся в сам инстанс класса, а не в прототип. В итоге если у нас будет 100 экземпляров класса, то в них будет условно 100 одинаковых методов, вместо одного в прототипе. Это больше никого не смущает? П.С. тот самый олдфаГ
Очень полезный контент. Видео вставки и музыка немного напрягает, в них смысла нет, а времени наверное уходит много на монтаж. Давай больше про чистый код на реакте и структуру приложений
Если обратить на 1 секунде видео, написано Фронтенд Show. Сразу становиться поняться, сам материал подаётся в развлекательной форме, а не так как будто ты на уроке изучаешь очередную тему. Мне нравиться такой формат, легкий и не напрягающий
@@КириллХора Забавно то, что автор хоть и подает материал в более развлекательной и простой форме, но у него наверное один из замых понятных и полезных каналов по рассуждению на разные темы в программировании. По крайней мере точно лучше чем у некоторых инфоцыган, которые еще за свой "контент" какие то деньги просят
А если серьезно, на то он и обработчик, что как-то реагирует на события. Если правильно декомпозировать логику, то не особо то и важно, как он называется, потому что он, по хорошему, будет вызывать методы, которые уже и представляют собой реализацию. К тому же в этом примере, насколько я помню, показывается публичный интерфейс, и, если это так, то тем более не должно быть никаких goToIndexedDBAndSaveChangedUserOrIComeInUrHouseAndKillUrDog()
@@alexander551 это идеологическое подтягивание за уши,к русскому языку это уже не имет отношения, это как если бы китайцы обиделись бы что их китайцами называют и потребовали чтобы их ханьцами называли по аналгии.
Который раз говорят об идеале, что редко выполнимо в реалиях. 20 строк на функцию и класс 500 ? Посмотрите движок UnrealEngine 4, такие кассы как скелетел меши, експорты - громадные методы. Или Блендер - не выполнимо такое правило. Может быть в каком-то маленьком UI для вашего сайтеца - будет достаточно, но для реально большого проекта - даже не заморачивайтесь.
Метод/класс должен выполнять только одну задачу. Чтобы когда его сломают, сломалось что-то одно. Отсюда идёт правило, про число строк. Много строк - много на себя берёт. Надо разбить по задачам.
Про однобуквенные переменные категорически не согласен. Подчёркивания иногда нужны даже в тайпскрипте - вот попробуй в декораторе приватные свойства использовать... А вообще, интересно, хотя некоторые моменты показались вкусовщиной.
А теперь немного про сам JS, попробуйте понять смысл увиденного : [1,2,5,3,8,4][4,2] == 5 Итак, объясняю: - Берём сначал укропу (последнее значение во втором массиве 2) - Потом кошачью **** (первый массив) - 25 картошек, 17 мандавошек (вся ебанутая логика реализованная в js) - Ведро воды и *** туды (берём из первого массива значение с индексом 2 равное пяти) - Охапку дров (сравниваем с пятёркой) - И плов готов! (получаем ответ true)
Первые квадратные скобки это массив, а вторые это обращение к эоементам массива. Во вторых скобках нужно знать как работает оператор запятая. Кажется что в других языках это точно так же работает
@@AbraKadabra000 получается, что последнее обращение по индексу к массиву перетирает первое значение , потом они сравниваются нестрогим равенством если заменить на строку в массиве и сравнить строку '' 5'' === 5 строгим равенством будет false и если разобраться как работает приведение к типу в JS , то многие неочевидные вещи станут понятны
так ты спеку почитай, там такого кейса, чтобы в индексатор передавались значения через запятую нет. Пример приведённый тобой лишь недостаток реализации какого-то из движков (скорее всего это V8), попробуй на других.
@@bloodrik сам почитай и сам проверь :-Р всё там есть иначе бы не работало. В "индексер" передаётся не массив а значение. Которое сформировано с использованием оператора запятая. Почитай про оператор запятая, и может быть что-нибудь поймёшь)
То, что так можно написать в JS не значит, что так кто-то пишет. Как там, большая гибкость накладывает большую ответственность (я посмотрел нового челопука, не советую)
Посмотрел половину, видео ни о чем, тезисы говно, ни выдерживающее малейшей критики, а автору бы самому поучиться перед тем как видео выкладывать. Засоряет мозги начинающих кодеров брехней про чистый код..
Умные мальчики пишут контруктивную критику вместо набрасывания фекалий. Я бы с удовольствием почитал почему не стоит использовать практики, которые применяются на большинстве крупных проектов
@@Howtogoit вот именно, что мальчики. А мне не очень интересно разуверять последователя секты чистого кода, но раз уж ты ответил мне, то я тоже постараюсь
@@Howtogoit про сокращение переменных: любой js программист, да и не только, прекрасно знает самые популярные сокращения, вроде el == element, i == index, btn == button, db == database и т.д. Это те сокращения, которые мы используем постоянно и читать их не составляет никакого труда. Почему же не использовать полное слово, вместо сокращения, чтобы "даже менеджер понял ваш код"? Во-первых, нахуя менеджеру вообще смотреть ваш код, во-вторых, чтобы уменьшить размер конечного файла и быстрее передавать его по сети === у клиента быстрее грузится ваше приложение, в-третьих, чтобы код стал более лаконичным в местах, где не требуется излишнее обьяснение происходящего "const mailBoxes = users.map(u => u.mail)", в-четвертых, чтобы меньше писать. Про обобщения в нейминге: Это неплохой совет, но какой же отсосный пример, начиная от того, что fetch возвращает тебе не юзера, а обьект ответа Response (точнее промис, который резолвит обьект ответа в случае успеха), и твой нейминг только запутает читающего код, заканчивая тем, что даже тело ответа может содержать не юзера, а что-то вроде { message: 'success', code: 0, data: и тут обьект юзера }, в общем, неубедительно Про разный нейминг для одной сущности мне понравилось Про нейминг функций тоже неплохо, но я считаю и я такой не один, что все функции (мб за исключением предикатов) должны начинаться с глаголов, т.к. функция всегда отражает некоторое действие, не clickHandler, а handleClick Про отступы тоже хороший совет А вот про комментарии это полный ахтунг! Комментарии не то, что желательны, а зачастую обязательны. Тезис про то, что код должен говорить за себя - чушь. Что, например, сможет сказать за себя функция, в которой используются только битовый операторы или функция реализующая мат. формулу или что скажет за себя функция throttle, человеку не знакомому с ней? Очевидно, что комментарии нужно использовать, но нужно использовать их грамотно. Те комментарии, что у тебя в примерах действительно лучше не писать. Комментарий должен давать понимание, для чего написана данная функция или класс, как их можно использовать, не углубляясь в детали реализации (кому надо сам прочитает и поймет). Реализацию стоит описать в комментарии, когда она не очевидна, например, использует нестандартный, но эффективный алгоритм. А уж использовать jsdoc для библиотек общих для проекта это де-факто стандарт в индустрии. Так что рекомендую тебе разобраться в этом вопросе получше, прежде чем делать такие громкие заявления
Тренажеры HTML Academy (HTML, CSS, JS, React) + Академия + Книга рецептов фронтендера + комьюнити
за 99 рублей:
boosty.to/how-to-learn-it
Какие тренажеры бывают:
htmlacademy.ru/courses#fe-start
В моем Telegram - канале "Как пройти в IT?" публикуется ровно один пост в день!
Это отборный и полезный материал для вашего развития!
На пути в синьоры-помидоры важно каждый день уделять образованию хотя бы 10-15 минут!
Подписывайтесь:
t.me/howToLearnIT
________________
0:00 Пролог
00:58 Первое правило чистого кода
02:00 Пиши, Сокращай
02:50 Общее и частное
03:33 Проблема, которая есть в каждом проекте
05:40 Как укратить функцию?
08:11 Линтер - верный спутник чистого кода
09:02 Открытость - Закрытость
09:27 Гигантизм
10:15 Какие комментарии самые полезные?
11:40 Газетная метафора в JavaScript
12:32 Порядок в доме
13:35 Психология фронтенда
14:00 Настольная книга, каждого разработчика
14:26 Резюме
________________
Упоминаются в ролике:
1) PowerThesaurus - www.powerthesaurus.org/
2) Чистый код Мартин Роберт К.
#JavaScript #js #Frontend #Программирование
природе осталось очень мало 🤣🤣🤣🤣🤣🤣 ruclips.net/video/7HYj4YfNMRM/видео.html
Дружище, ты стал первым, на ком я проверил работу ютубовского колокольчика. Респект!
Кстати, я тоже)
+
Что творит, ты посмотри на него, глядишь и код писать научимся :) Спасибо за видео, на конец то у меня есть аргументы и ссылочка, почему делать нужно именно так а не как иначе. Не мало нового узнал что жило в мое голове, ну не было возможности описать это коллегам, спасибо и за это!!!
приватные поля через # это пока экспериментальное предложение
так что продолжаем чёрточки ставить, ребят = )
Привет из будущего
Лучше ts использовать
Вкусовщина сплошная. Чувак, тебе в проповедники надо - больше заботаешь)
Очень нравится подача материала! Очень полезный контент! Подписка и колокол однозначно)
8:22 что это за сервис?
Осторожно, в видео присутствует 25 кадр, вызывающий привыкание и стимулирующий ставить лайк.
Осторожно, в этом комментарии тоже присутствует 25 кадр, который заставляет поставить лайк этому комментарию:)
Что такое 25 кадр?
@@motivator3dто что не успевает уловить человеческий глаз)
@@Amelin1207 спасибо
Очень полезная информация. Спасибо.
Приветствую дружище 🤝
Всегда жду роликов👍
Офигенно качественный контент! Контент других похожих ютуберов которых мне кидает в рекомендациях и рядом не стоит с твоим (ДЖАВАСКРИПТИЗЕРЫ | КИРИЛЛ ПОЗДНЯКОВ, purple group)
с 1:55 поржал)
это я когда ревьюю своих соколиков)))
Хорошая тема. Чтобы код был чистый, понятный, эффективный и может быть даже красивый - это и вправду целое искусство! Развиваемся и качаем навыки, дамы и господа))
i-index, j-jindex, k-kindex?
Очень хороший контент, весёлый позновательный всегда жду с нетерпением новых роликов.
11:33 используйте let, назначение которого полностью не заменяет var
Обожаю твою подачу!
Супер респектище)
1:39 Этого я не знал, респект
Неплохой подход к донесению информации!)
Но делать столько примеров на Классах?) Сейчас редко встретишь адекватный проект на классах. ФП, маст хев)
Личное субьективное мнение)
хз чел. в маленьких проектах может быть. в больших проектах классы очень часто встречаются
@@lol-q1v за последние 5 лет, только на овер старых проектах видел классы…ито если тим лид пхп-шник) и я говорю за большие saas продукты.
@@Volodymyr-Serhiovych А если проект на angular2+? А проекты на nestjs? Там же почти все на классах. Может вы просто много лет писали на react и у вас сформировалась проф. деформация?
@@Volodymyr-Serhiovych Я хз, больше классы нравятся. Наверное привык из-за других языков.
Да и классы более чисто выглядит.
"В коде коллег" услышал как "В коде калек" ))
можно ссылку на видео про декомпозицию, не могу найти
Восхищаюсь полезностью и практичностью твоих видео!🎉
User в проучаемой дате? Меня тл все время дрчил чтоб было абстрактное название.
Очень интересно и полезно , спасибо !
Иногда на кодревью просят кократить context до ctx , и element до el ))
Это нормально, если так в проекте везде и проект достаточно зрелый. Лучше безобразно, но однообразно.
мне попадалось, что наоборот, но так лень бывает в элементарных местах прописывать полное название )))
@@soulwind7577 имхо, важно просто приучить себя, и потом так пишешь на автомате.
Спасибо за хорошие мысли .но сопровождающие видео-фрагменты немного пугают))
ЗИП файл! Теперь я буду писать чистейший арийский код, спасибо
Клеевое видео, спасибо за труд!
А если функция такая 🤔, что надо так сделать?
Про кавычки вконце не сказал
После этого видео захотелось писать хороший код ещё раз в десять сильнее чем до него.
Очень круто, спасибо за твой труд 😊
Про черточки:
пока в JS/TS не появятся # или {public get; private set} как в C# мы так и будем писать черточки. Иначе как ты назовешь одно и то же поле только одно это публичный геттер, а другое - приватное поле? field и privateField?
Это про поля. В методах такое встречается гораздо реже
Да, как раз читаю "Чистый код" от известного дядюшки
Простите, а если надо посчитать координаты? Например написать функцию которая ищет пересечение двух линий, то вместо x, y, нужно писать что-то вроде xCoordinate, yCoordinate?
Хорошие советы. Для Python тоже годятся.
Спасибо!!!
- Да кто писал этот код, тут лишний пробел, нейминг не правильный :)
- Это был ты
- Какие божественные пробелы XD
Для понимания бэка и фронта в плане разности названий есть великая вещь - swagger и OpenAPI
Привет, недавно решил попрбовать js, что бы ты мог посоветовать для начинающего, после изучения синтаксиса?
Потом что то из большой тройки на выбор: angular, react, vue
@@bubblesort6368 ну точно не после изучения синтаксиса 😂😂😂
А как назвать итератор в ситуации, когда у меня цикл в цикле?
Вместо i можно назвать index, а какие альтернативы для k/j?
Фигня это, если цикл не более 3-5 строк, то i вполне годится. Если цикл в цикле, то тут на любителя, я бы дал осмысленные имена переменным, т.к. приростить i во вложенном цикле - классика. Но тут, конечно, имхо.
Я методы пишу в том порядке, в котором они используются программой. (понятно, что так не всегда возможно) Так логичнее, или нет?
Код лучше сократить, потому что чем меньше кода, тем меньше памяти и тем лучше будет работать программа или сайт.
Современные сборщики уже давно умеют разбивать код на чанки, а фреймворки поддерживают их ленивую подгрузку.
"Кодирование", это из области алкоголизма))
палец вверх за 25 кадр))
0:33 то чувство когда ты фрилансер и очень далек от всей этой темы с ревьверами, менеджерами, и прочими непонятным словам которые означают не понятных людей,
У меня есть один крупный заказчик, но они сайтом не на столько занимаются что бы нанимать прям команду, я им один сайт допиливаю, сам слежу и сам правлю )
Просьба: объяснить на примерах что класть в Redux, а что нет
13:08 Уши шапочкой не закрывают 😫 , а так видео полезное
Блин, у тебя очень знакомый голос. У тебя есть (был) еще какой-то канал не связаный с программированием?
топ видео, годный контент
спасибо
8:45 Ты чего, форматтер не врубил что ли, пробел пофикси! Нижний private имеет лишний пробел в отступе.
Про комментарии к коду не согласен. Посмотрите исходники того же реакта) . как правило бесполезного там нет
Тоже удивился такому подходу в видео. Однажды видел лекцию, где преподаватель настаивал, что программу НУЖНО начинать с комментариев, а уже потом кодить. Тема явно неоднозначная.
Про порядок функций это булщит. Когда разбираешься с кодом лучше чтобы функции шли по порядку вызова, а API IDE подскажет
По поводу приватных полей в js, такие методы ложатся в сам инстанс класса, а не в прототип. В итоге если у нас будет 100 экземпляров класса, то в них будет условно 100 одинаковых методов, вместо одного в прототипе. Это больше никого не смущает?
П.С. тот самый олдфаГ
Очень полезный контент. Видео вставки и музыка немного напрягает, в них смысла нет, а времени наверное уходит много на монтаж.
Давай больше про чистый код на реакте и структуру приложений
Если обратить на 1 секунде видео, написано Фронтенд Show. Сразу становиться поняться, сам материал подаётся в развлекательной форме, а не так как будто ты на уроке изучаешь очередную тему. Мне нравиться такой формат, легкий и не напрягающий
@@КириллХора Забавно то, что автор хоть и подает материал в более развлекательной и простой форме, но у него наверное один из замых понятных и полезных каналов по рассуждению на разные темы в программировании. По крайней мере точно лучше чем у некоторых инфоцыган, которые еще за свой "контент" какие то деньги просят
В целом круто. Но некоторые вещи нереалистичные в коммерческом проекте с ограниченным буджетом
В чем смысл писать onUserChange и ТД на обработчиках, какое это даёт представление о том, что конкретно делает обработчик? Имхо это глинокод
А зачем тебе это представление?)) Что-то делает и ладненько ахах.
А если серьезно, на то он и обработчик, что как-то реагирует на события.
Если правильно декомпозировать логику, то не особо то и важно, как он называется, потому что он, по хорошему, будет вызывать методы, которые уже и представляют собой реализацию.
К тому же в этом примере, насколько я помню, показывается публичный интерфейс, и, если это так, то тем более не должно быть никаких goToIndexedDBAndSaveChangedUserOrIComeInUrHouseAndKillUrDog()
Вот это я понимаю поле для холивара))))
Не знаю почему, но очень захотелось написать комментарий, поставить лайк и нажать колокольчик. Магия какая-то!)
Половины слов не понял, конечно, но было поучительно
лайк за 25ый кадр)
Жду C#
Приятно читать - понятие растяжимое, лично я ненавижу отступы между функциями. Начало функции видно за 2 метра.
В проекте,а не НА. "На" это то что сверху, а "В"внутри. Как будто речь про работодателя который как раз стоит над проектом.
В Украине?
@@alexander551 это идеологическое подтягивание за уши,к русскому языку это уже не имет отношения, это как если бы китайцы обиделись бы что их китайцами называют и потребовали чтобы их ханьцами называли по аналгии.
10:42 Этот принцип не подходит, когда ты пишешь алгоритм какой-то, там придётся комментировать, в остальных случаях я с тобой согласен
Особенно когда одна функция будет работать с 1000 и более сущностями и все приносят ту же самую сущность, тогда, как их наименовывать? 😂
моя настольная книжечка
Видео мантра прям
(e) => {} ---- на тебе в борщ!
Экстрим код не одобрит)
Пусть не одобряют, у них вообще какой-то клоун-контент
@@catalan2857 Гении зачастую становятся отвергнуты обществом. Ну а вообще Экстрим код всё по факту говорит
@@catalan2857 так и есть) они же не делают обучающий контент. Просто угарают мужики)
@@catalan2857 излишняя серьёзность - первый признак низкого IQ
Петухони поставит 😆
Который раз говорят об идеале, что редко выполнимо в реалиях. 20 строк на функцию и класс 500 ? Посмотрите движок UnrealEngine 4, такие кассы как скелетел меши, експорты - громадные методы. Или Блендер - не выполнимо такое правило. Может быть в каком-то маленьком UI для вашего сайтеца - будет достаточно, но для реально большого проекта - даже не заморачивайтесь.
причем в том же реакте функцию ты по сути пишешь как полноценный класс, со своими методами и ретерном возможного огромного jsx'a
Метод/класс должен выполнять только одну задачу. Чтобы когда его сломают, сломалось что-то одно.
Отсюда идёт правило, про число строк. Много строк - много на себя берёт. Надо разбить по задачам.
Че мой коммент удалил =)
Это промысел ютуба)
13:24, не объективно)
Ммм комменты используйте😅🗿, обязательно без них проект будут поддерживать месяцами это ужасно😅😅
збс
Про однобуквенные переменные категорически не согласен.
Подчёркивания иногда нужны даже в тайпскрипте - вот попробуй в декораторе приватные свойства использовать...
А вообще, интересно, хотя некоторые моменты показались вкусовщиной.
ruclips.net/video/7HYj4YfNMRM/видео.html рили? у кого такой же шрифт, на таком мониторе?
У меня, чтобы коллеги подходя могли видеть что именно написано)
@@AbraKadabra000 блиииин, жадь что я на удаленке, тоже бы так сделал
А теперь немного про сам JS, попробуйте понять смысл увиденного : [1,2,5,3,8,4][4,2] == 5
Итак, объясняю:
- Берём сначал укропу (последнее значение во втором массиве 2)
- Потом кошачью **** (первый массив)
- 25 картошек, 17 мандавошек (вся ебанутая логика реализованная в js)
- Ведро воды и *** туды (берём из первого массива значение с индексом 2 равное пяти)
- Охапку дров (сравниваем с пятёркой)
- И плов готов! (получаем ответ true)
Первые квадратные скобки это массив, а вторые это обращение к эоементам массива. Во вторых скобках нужно знать как работает оператор запятая. Кажется что в других языках это точно так же работает
@@AbraKadabra000 получается, что последнее обращение по индексу к массиву перетирает первое значение , потом они сравниваются нестрогим равенством
если заменить на строку в массиве и сравнить строку '' 5'' === 5 строгим равенством будет false
и если разобраться как работает приведение к типу в JS , то многие неочевидные вещи станут понятны
так ты спеку почитай, там такого кейса, чтобы в индексатор передавались значения через запятую нет. Пример приведённый тобой лишь недостаток реализации какого-то из движков (скорее всего это V8), попробуй на других.
@@bloodrik сам почитай и сам проверь :-Р всё там есть иначе бы не работало. В "индексер" передаётся не массив а значение. Которое сформировано с использованием оператора запятая. Почитай про оператор запятая, и может быть что-нибудь поймёшь)
То, что так можно написать в JS не значит, что так кто-то пишет. Как там, большая гибкость накладывает большую ответственность (я посмотрел нового челопука, не советую)
Посмотрел половину, видео ни о чем, тезисы говно, ни выдерживающее малейшей критики, а автору бы самому поучиться перед тем как видео выкладывать. Засоряет мозги начинающих кодеров брехней про чистый код..
Умные мальчики пишут контруктивную критику вместо набрасывания фекалий.
Я бы с удовольствием почитал почему не стоит использовать практики, которые применяются на большинстве крупных проектов
@@Howtogoit вот именно, что мальчики. А мне не очень интересно разуверять последователя секты чистого кода, но раз уж ты ответил мне, то я тоже постараюсь
@@Howtogoit про сокращение переменных: любой js программист, да и не только, прекрасно знает самые популярные сокращения, вроде el == element, i == index, btn == button, db == database и т.д. Это те сокращения, которые мы используем постоянно и читать их не составляет никакого труда. Почему же не использовать полное слово, вместо сокращения, чтобы "даже менеджер понял ваш код"? Во-первых, нахуя менеджеру вообще смотреть ваш код, во-вторых, чтобы уменьшить размер конечного файла и быстрее передавать его по сети === у клиента быстрее грузится ваше приложение, в-третьих, чтобы код стал более лаконичным в местах, где не требуется излишнее обьяснение происходящего "const mailBoxes = users.map(u => u.mail)", в-четвертых, чтобы меньше писать.
Про обобщения в нейминге: Это неплохой совет, но какой же отсосный пример, начиная от того, что fetch возвращает тебе не юзера, а обьект ответа Response (точнее промис, который резолвит обьект ответа в случае успеха), и твой нейминг только запутает читающего код, заканчивая тем, что даже тело ответа может содержать не юзера, а что-то вроде { message: 'success', code: 0, data: и тут обьект юзера }, в общем, неубедительно
Про разный нейминг для одной сущности мне понравилось
Про нейминг функций тоже неплохо, но я считаю и я такой не один, что все функции (мб за исключением предикатов) должны начинаться с глаголов, т.к. функция всегда отражает некоторое действие, не clickHandler, а handleClick
Про отступы тоже хороший совет
А вот про комментарии это полный ахтунг! Комментарии не то, что желательны, а зачастую обязательны. Тезис про то, что код должен говорить за себя - чушь. Что, например, сможет сказать за себя функция, в которой используются только битовый операторы или функция реализующая мат. формулу или что скажет за себя функция throttle, человеку не знакомому с ней? Очевидно, что комментарии нужно использовать, но нужно использовать их грамотно. Те комментарии, что у тебя в примерах действительно лучше не писать. Комментарий должен давать понимание, для чего написана данная функция или класс, как их можно использовать, не углубляясь в детали реализации (кому надо сам прочитает и поймет). Реализацию стоит описать в комментарии, когда она не очевидна, например, использует нестандартный, но эффективный алгоритм. А уж использовать jsdoc для библиотек общих для проекта это де-факто стандарт в индустрии. Так что рекомендую тебе разобраться в этом вопросе получше, прежде чем делать такие громкие заявления
@@flatl1ne постарался) Автору за видео большое спасибо! Эстетика - превыше всего
в Dart приватные методы все еще делаются с черточками