Странный вопрос: а откуда такая не любовь к пустым линиям как разделитель кода? Весь показанный код (даже если он простой) написан сплошным блоком без разделителей, банальная пустая строка-разделитель повышает читабельность кода в разы.
Если возникает желанин разделить пустой строкой, в 90% случаев код нужно разделить на несколько функций или методов. Оптимальный размер функции - 7-14 строк. Многие классики даже утверждают, что 5-7 строк.
@@TimurShemsedinov обычно метод можно разделить на три логических части: 1) проверка входных аргументов; 2) выполнение логики; 3) подготовка\упаковка результата работы... в зависимости от ситуации каждая из частей может быть упущена/упрощена/скипнута. Когда все пишется сплошным блоком, то визуально разделять эти части трудно, надо вчитываться в каждую строчку. Выделение блока кода пустой строкой является "якорем" для глаз в момент просмотра кода. I like to think of whitespaces the same way as paragraphing. You group together lines that contribute to one idea.
@@OleksandrKucherenko Нет, вы путаете API эндпоинты, функции и методы классов. Все API эндпоинты имеют подобные три шага, некоторые функции могут иметь такие шаги (а могут и не иметь, лучше, чтоб не имели), а вот методы класса максимально нежелательно, чтобы имели такие шаги. И вот почему: смысл методов класса - в том, чтобы они были связаны с контекстом (с инстансом объекта) и данные должны быть в нем так подготовлены, чтобы исключить лишние преобразования. Другими словами, если это метод класса, то лучше разделить подготовку данных в конструкторе или фабрике, обоаботку - в методах, а подготовка результатов - вообще редко может присутствовать. Резальтат - это мутация стостояния объекта или его сериализация, кроме тех случаев, когда класс реализовывает абстракцию GRASP:Controller
Здравствуйте ! Заинтересовал Ваш проект - github.com/metarhia/metawatch , есть ли документация по нему как использовать и как установить? Хочу законтрибютить фичи в Ваш проект , не подскажите каких фич не хватает проекту на Ваш взгляд ?
Здравствуйте Тимур! Спасибо за ваши матриалы, очень полезно. Подскажите пожалуйста, а почему апи запросы были в файле апп, а не скажем в отдельном сервис-модуле? Это для налядности, или же на практике есть применение такой архетектуре, Извинте, если мой вопрос показался глупым, я просто учусь. =)
@@antonparhom1251 нет, где-то теория автоматов нужна, где-то топология, где-то теория массового обслуживания и теория вероятностей, где-то дискретка, а где-то и исчисление бесконечно малых, но обычно программисты ничего этого не знают и кодят себе как дикари, не думая ни о чем
Есть несколько лекций, но полного курса я пока не буду делать. github.com/HowProgrammingWorks/Index/blob/master/Courses/AlgAndData.md Это материалы, по которым можно найти много книг, докладов, статей, лекций, уроков. А есть темы, по которым сложно что-то найти. Вот я по ним в первую очередь делаю лекции.
Как хочется, мне вернутся к этому делу. Ничего после защиты диссертации займусь.
Странный вопрос: а откуда такая не любовь к пустым линиям как разделитель кода? Весь показанный код (даже если он простой) написан сплошным блоком без разделителей, банальная пустая строка-разделитель повышает читабельность кода в разы.
Если возникает желанин разделить пустой строкой, в 90% случаев код нужно разделить на несколько функций или методов. Оптимальный размер функции - 7-14 строк. Многие классики даже утверждают, что 5-7 строк.
@@TimurShemsedinov обычно метод можно разделить на три логических части: 1) проверка входных аргументов; 2) выполнение логики; 3) подготовка\упаковка результата работы... в зависимости от ситуации каждая из частей может быть упущена/упрощена/скипнута. Когда все пишется сплошным блоком, то визуально разделять эти части трудно, надо вчитываться в каждую строчку. Выделение блока кода пустой строкой является "якорем" для глаз в момент просмотра кода.
I like to think of whitespaces the same way as paragraphing. You group together lines that contribute to one idea.
@@OleksandrKucherenko Нет, вы путаете API эндпоинты, функции и методы классов. Все API эндпоинты имеют подобные три шага, некоторые функции могут иметь такие шаги (а могут и не иметь, лучше, чтоб не имели), а вот методы класса максимально нежелательно, чтобы имели такие шаги. И вот почему: смысл методов класса - в том, чтобы они были связаны с контекстом (с инстансом объекта) и данные должны быть в нем так подготовлены, чтобы исключить лишние преобразования. Другими словами, если это метод класса, то лучше разделить подготовку данных в конструкторе или фабрике, обоаботку - в методах, а подготовка результатов - вообще редко может присутствовать. Резальтат - это мутация стостояния объекта или его сериализация, кроме тех случаев, когда класс реализовывает абстракцию GRASP:Controller
Ссылки на код из видео ниже
application.js из impress: github.com/metarhia/impress/blob/master/lib/application.js
procerude.js из impress: github.com/metarhia/impress/blob/master/lib/procedure.js
cache.js из impress: github.com/metarhia/impress/blob/master/lib/cache.js
resources.js из impress: github.com/metarhia/impress/blob/master/lib/resources.js
modules.js из impress: github.com/metarhia/impress/blob/master/lib/modules.js
Супер контекст. Много полезной иформации. Спасибо большое
Меня тоже Тимур зовут, а фамилия Шамсутдинов🙂
Здравствуйте ! Заинтересовал Ваш проект - github.com/metarhia/metawatch , есть ли документация по нему как использовать и как установить? Хочу законтрибютить фичи в Ваш проект , не подскажите каких фич не хватает проекту на Ваш взгляд ?
Это не отдельный проект, а библиотека для технологического стека Метархия. Что еще нужно - тестов больше, проверять и оптимизировать для разных ос.
Здравствуйте Тимур!
Спасибо за ваши матриалы, очень полезно.
Подскажите пожалуйста, а почему апи запросы были в файле апп, а не скажем в отдельном сервис-модуле?
Это для налядности, или же на практике есть применение такой архетектуре,
Извинте, если мой вопрос показался глупым, я просто учусь. =)
МаШаАллах1 Тимур лев
Тимур добрый день! Спасибо вам за ваш труд! Скажите какие разделы математики нужно знать чтобы расти в программировании?
Смотря какое направление в программировании, уточните
@@TimurShemsedinov а есть разделы которые будет полезно знать не зависимо от направления программирования?
@@antonparhom1251 нет, где-то теория автоматов нужна, где-то топология, где-то теория массового обслуживания и теория вероятностей, где-то дискретка, а где-то и исчисление бесконечно малых, но обычно программисты ничего этого не знают и кодят себе как дикари, не думая ни о чем
Добрый день, не планируете ли вы выпустить курс по алгоритмам и структурам данных?
Есть несколько лекций, но полного курса я пока не буду делать. github.com/HowProgrammingWorks/Index/blob/master/Courses/AlgAndData.md
Это материалы, по которым можно найти много книг, докладов, статей, лекций, уроков. А есть темы, по которым сложно что-то найти. Вот я по ним в первую очередь делаю лекции.
Какой фреймворк используешь для unit тестов?
А что Вы за файловый менеджер используете?)
midnight commander
@@TimurShemsedinov Cпасибо!
здравствуй, я хотел передать state в другую функцию однако не имею понятие как, можешь объяснить пожалуйста?
Я не понял вопрос. Можно подробнее или другими словами?
@@TimurShemsedinov у меня есть функция и в ней есть useState и ее нужно передать в другую функцию
@@serikabsadykov9260 что за useState? Лучше кусок кода дайте