О повышении качества кода
Да, мы уже множество раз слышали о том, что нужно много практиковаться, читать форумы и литературу, и еще больше непосредственно писать код, чтобы прийти к пониманию совершенства.
И это правдоподобно, однако стоит понимать одну простую в формулировке, но трудную для осознания истину - секрет чистого кода, чему и посвящена данная статья.
Читать статью (5 мин)
#programming #clean_code
Да, мы уже множество раз слышали о том, что нужно много практиковаться, читать форумы и литературу, и еще больше непосредственно писать код, чтобы прийти к пониманию совершенства.
И это правдоподобно, однако стоит понимать одну простую в формулировке, но трудную для осознания истину - секрет чистого кода, чему и посвящена данная статья.
Читать статью (5 мин)
#programming #clean_code
Как быть хорошим разработчиком?
Данная статья поможет вам комплексно разобраться в том, как писать код так, чтобы он был легко читабельным, поддерживаемым и чистым.
Как ни странно, именно эти признаки кода отличают мидла от сеньора, хорошего разработчика от профессионала.
Читать статью (5 мин)
#programming #clean_code
Данная статья поможет вам комплексно разобраться в том, как писать код так, чтобы он был легко читабельным, поддерживаемым и чистым.
Как ни странно, именно эти признаки кода отличают мидла от сеньора, хорошего разработчика от профессионала.
Читать статью (5 мин)
#programming #clean_code
Бросьте эти if-else в помойку
Это всего лишь пёстрое название. На самом деле, без них обойтись никак, но существует подход, который позволит избавить код от избыточных логических конструкций и в то же время сделает его суперчитабельным и очень легко поддерживаемым.
Об этом на основе хороших примеров кода в следующей статье.
Читать статью (6 мин)
#programming #clean_code
Это всего лишь пёстрое название. На самом деле, без них обойтись никак, но существует подход, который позволит избавить код от избыточных логических конструкций и в то же время сделает его суперчитабельным и очень легко поддерживаемым.
Об этом на основе хороших примеров кода в следующей статье.
Читать статью (6 мин)
#programming #clean_code
Clean Classes
Рубрика чистого кода всегда актуальна! В данной статье автор делится своим мнением о том, как следует проектировать структуру согласно ООП, а также каким образом писать классы, чтобы код получился лаконичным и поддерживаемым
Читать статью (5 мин)
#programming #clean_code
Рубрика чистого кода всегда актуальна! В данной статье автор делится своим мнением о том, как следует проектировать структуру согласно ООП, а также каким образом писать классы, чтобы код получился лаконичным и поддерживаемым
Читать статью (5 мин)
#programming #clean_code
Code Climate умеренный.
Инструмент, который позволит вашей команде совместно улучшать качество кода. Его функционал включает:
• Отчеты о покрытии тестами;
• Оценка технического долга;
• Проверки соответствия стилю;
• Выделение критически уязвимых областей;
Таким образом на основе отчетов Code Climate вы сможете получить легко поддерживаемый и расширяемый код.
GitHub | Sources
#tools #clean_code
Инструмент, который позволит вашей команде совместно улучшать качество кода. Его функционал включает:
• Отчеты о покрытии тестами;
• Оценка технического долга;
• Проверки соответствия стилю;
• Выделение критически уязвимых областей;
Таким образом на основе отчетов Code Climate вы сможете получить легко поддерживаемый и расширяемый код.
GitHub | Sources
#tools #clean_code
Четыре вещи, которым нужно разучиться, чтобы стать хорошим разработчиком.
Постулат данной статьи:
• Замени циклы функциями высшего порядка;
• Замени условные выражения структурами данных и полиморфизмом;
• Замени буквальные имена переменных на целевые имена;
• Забудь о существовании глобальной области видимости.
Под катом вас ждут неоднозначные примеры кода, которые с очень большой вероятностью поменяют ваши подходы к программированию.
Читать статью (5 мин)
#programming #clean_code
Постулат данной статьи:
• Замени циклы функциями высшего порядка;
• Замени условные выражения структурами данных и полиморфизмом;
• Замени буквальные имена переменных на целевые имена;
• Забудь о существовании глобальной области видимости.
Под катом вас ждут неоднозначные примеры кода, которые с очень большой вероятностью поменяют ваши подходы к программированию.
Читать статью (5 мин)
#programming #clean_code
Упрощайте списки параметров
Очень часто встречаются листинги кода, в которых методы класса имеют громоздкие списки параметров. Дело в том, что это значительно усложняет чтение и понимание кода.
Старайтесь списки параметров методов ограничивать 2-3 сущностями, а лучший способ - передавайте объект, который уже содержит необходимую информацию. И не забывайте про содержательные имена!
#programming #clean_code
Очень часто встречаются листинги кода, в которых методы класса имеют громоздкие списки параметров. Дело в том, что это значительно усложняет чтение и понимание кода.
Старайтесь списки параметров методов ограничивать 2-3 сущностями, а лучший способ - передавайте объект, который уже содержит необходимую информацию. И не забывайте про содержательные имена!
#programming #clean_code
Упрощение поиска проблемных частей кода в Python
Чтобы фильтровать логи по пользователю, видеть последовательность вызовов клиентского API, а также углубляться в логи запроса, необходимо сопровождать каждую лог-запись метаинформацией, чего не делает довольно значительное количество разработчиков.
Программисты, работающие с приложением Яндекс.Такси, разобрались в этом. В статье они предлагают несколько решений данной проблемы.
Читать статью
#programming #clean_code
Чтобы фильтровать логи по пользователю, видеть последовательность вызовов клиентского API, а также углубляться в логи запроса, необходимо сопровождать каждую лог-запись метаинформацией, чего не делает довольно значительное количество разработчиков.
Программисты, работающие с приложением Яндекс.Такси, разобрались в этом. В статье они предлагают несколько решений данной проблемы.
Читать статью
#programming #clean_code
Хабр
Забываете передавать аргументы в функцию? Вам поможет contextvars
Мы в Яндекс.Такси любим писать логи. Ещё больше мы любим, когда логи помогают нам расследовать проблемы в продакшене. При нагрузке в десятки тысяч RPS просто на...
О важности абстракции
Взгляните на листинги двух классов. Да, вам может показаться, что класс Program более компактный, но стоит более внимательно посмотреть на класс Employee, как тут же становится понятно, что здесь мы работаем на верном уровне абстракции.
Методы, которые используются во внутренних вычислениях, закрыты, а открытыми остаются лишь те, которые действительно выполняют свою задачу, при этом область применения класса Employee четко понятна из названий методов и переменных-атрибутов.
#programming #clean_code
Взгляните на листинги двух классов. Да, вам может показаться, что класс Program более компактный, но стоит более внимательно посмотреть на класс Employee, как тут же становится понятно, что здесь мы работаем на верном уровне абстракции.
Методы, которые используются во внутренних вычислениях, закрыты, а открытыми остаются лишь те, которые действительно выполняют свою задачу, при этом область применения класса Employee четко понятна из названий методов и переменных-атрибутов.
#programming #clean_code
С прозрачностью скриптов сборки к идеальным зависимостям
Очень комплексная и подробная статья с описанием принципов построения и создания скриптов сборки на примере Maven и Gradle.
На текущий момент с великим множеством зависимостей в разрабатываемых вами проектах, этапу сборки необходимо уделять особое внимание.
Читать статью (10 мин)
#programming #clean_code
Очень комплексная и подробная статья с описанием принципов построения и создания скриптов сборки на примере Maven и Gradle.
На текущий момент с великим множеством зависимостей в разрабатываемых вами проектах, этапу сборки необходимо уделять особое внимание.
Читать статью (10 мин)
#programming #clean_code
If-else, пора забыть об этом
Однако никто не говорит, что использование в коде конструкций switch, if-else является чем-то запретным, это идеальные инструменты на начальном этапе разработки проекта.
С развитием проекта от них следует избавляться, т.к. они не предлагают той гибкости и масштабируемости, которые может предложить полиморфизм.
Читать статью (6 мин)
#programming #clean_code
Однако никто не говорит, что использование в коде конструкций switch, if-else является чем-то запретным, это идеальные инструменты на начальном этапе разработки проекта.
С развитием проекта от них следует избавляться, т.к. они не предлагают той гибкости и масштабируемости, которые может предложить полиморфизм.
Читать статью (6 мин)
#programming #clean_code
Sider - как не наступать на те же грабли
Да, это один из тех инструментов, которые позволяют большим, и не только, командам разработчиков контролировать качество кода. В связке с Codacy или Code Climate будет достигнута наивысшая эффективность в оценке качества.
Sider позволяет обрабатывать текущие проблемы в коде более изящно, нежели с этим справляются линтеры с помощью CI, однако прочувствовать это можно лишь на личном опыте.
Github
#clean_code #tools
Да, это один из тех инструментов, которые позволяют большим, и не только, командам разработчиков контролировать качество кода. В связке с Codacy или Code Climate будет достигнута наивысшая эффективность в оценке качества.
Sider позволяет обрабатывать текущие проблемы в коде более изящно, нежели с этим справляются линтеры с помощью CI, однако прочувствовать это можно лишь на личном опыте.
Github
#clean_code #tools
Яндекс масштабно обновил поиск: коротко о главном
Ребята из поиска Яндекса рассказали о своём самом важном изменении за десять лет. Они научили и запустили свою нейросеть-трансформер YATI. Трансформеры по определению очень прожорливые, поэтому её подключение — отдельный вызов для разрабов и инженеров.
По факту, теперь мы имеем поиск Яндекса, который не просто (хотя и качественно) ищет и сопоставляет ключевые слова, но и глубже анализирует смысл запроса и релевантность выдачи. Проще говоря, он как будто бы лучше понимает, о чём его спрашивают. И ещё умеет анализировать порядок слов и контекст запроса, читает огромные тексты, а не только бегает по хедам, обучен «механизму внимания», то есть умеет определять и выделять важные фрагменты в любом массиве.
Подробнее ребята рассказали в своем блоге на Хабре
#programming #clean_code
Ребята из поиска Яндекса рассказали о своём самом важном изменении за десять лет. Они научили и запустили свою нейросеть-трансформер YATI. Трансформеры по определению очень прожорливые, поэтому её подключение — отдельный вызов для разрабов и инженеров.
По факту, теперь мы имеем поиск Яндекса, который не просто (хотя и качественно) ищет и сопоставляет ключевые слова, но и глубже анализирует смысл запроса и релевантность выдачи. Проще говоря, он как будто бы лучше понимает, о чём его спрашивают. И ещё умеет анализировать порядок слов и контекст запроса, читает огромные тексты, а не только бегает по хедам, обучен «механизму внимания», то есть умеет определять и выделять важные фрагменты в любом массиве.
Подробнее ребята рассказали в своем блоге на Хабре
#programming #clean_code
Чтобы быть крутым разработчиком, нужно создавать крутые проекты!
Представляем вам список простых и в то же время очень полезных с точки зрения необходимых навыков проектов, которые позволят вам не только прокачать навыки в распространенных фреймворках, но и получить от этого удовольствие.
Много ли из вас использует Trello или Asana, а может, и вовсе Jira? Думаете, у вас не получится создать что-то подобное? А что если вы бы хотели пользоваться лично разработанным плеером? Это круто! А мы в этом поможем списком интересных идей...
Читать статью (5 мин)
#programming #clean_code
Представляем вам список простых и в то же время очень полезных с точки зрения необходимых навыков проектов, которые позволят вам не только прокачать навыки в распространенных фреймворках, но и получить от этого удовольствие.
Много ли из вас использует Trello или Asana, а может, и вовсе Jira? Думаете, у вас не получится создать что-то подобное? А что если вы бы хотели пользоваться лично разработанным плеером? Это круто! А мы в этом поможем списком интересных идей...
Читать статью (5 мин)
#programming #clean_code
Правило звездочки
Работая с указателями, необходимо очень аккуратно передавать параметры, полностью осознавая, что необходимо сделать с данным параметром в функции.
Если вы передаете указатель на некоторую область памяти и внутри метода присваиваете ему новое значение, предварив его звездочкой, то фактически меняется значение, на которое указывает указатель.
Если же не предварять звездочкой при присвоении, то указателю присваивается новый адрес, который может оказаться отнюдь не корректным. Будьте аккуратны с указателями.
#programming #clean_code
Работая с указателями, необходимо очень аккуратно передавать параметры, полностью осознавая, что необходимо сделать с данным параметром в функции.
Если вы передаете указатель на некоторую область памяти и внутри метода присваиваете ему новое значение, предварив его звездочкой, то фактически меняется значение, на которое указывает указатель.
Если же не предварять звездочкой при присвоении, то указателю присваивается новый адрес, который может оказаться отнюдь не корректным. Будьте аккуратны с указателями.
#programming #clean_code
Зомби-код: он жив или мертв
Насколько часто встречаются, особенно open-source проекты, в которых каждая функция предварена комментарием. А теперь задумаемся: будем ли мы править комментарии, если придется в сжатые сроки добавлять новый функционал.
Думаю, такой сценарий исключен, поэтому код должен быть ясен и понятен и требовать комментариев только в исключительных случаях.
Youtube
#programming #clean_code
Насколько часто встречаются, особенно open-source проекты, в которых каждая функция предварена комментарием. А теперь задумаемся: будем ли мы править комментарии, если придется в сжатые сроки добавлять новый функционал.
Думаю, такой сценарий исключен, поэтому код должен быть ясен и понятен и требовать комментариев только в исключительных случаях.
Youtube
#programming #clean_code
Junior vs Senior
Привет клинкодерам! Всех нас очень волнует вопрос написания чистого, легко поддерживаемого кода, от одно вида которого поднимается настроение.
На отличных примерах из видео можно детально сравнить подходы Junior и Senior-разработчиков, тем самым, понять, каких механизмов избегать, а к каким приучатся.
Youtube
#programing #clean_code
Привет клинкодерам! Всех нас очень волнует вопрос написания чистого, легко поддерживаемого кода, от одно вида которого поднимается настроение.
На отличных примерах из видео можно детально сравнить подходы Junior и Senior-разработчиков, тем самым, понять, каких механизмов избегать, а к каким приучатся.
Youtube
#programing #clean_code
YouTube
Junior Vs Senior Code - How To Write Better Code
Writing code is easy. Writing clean code, though, is much harder. In this video I take a look at two different code examples from a beginner, intermediate, and advanced level. The goal of this is to show you how a senior developer will think while programming…
Как начать использовать лямбда-выражения в Java.
Привет клинкодерам! На самом деле, Java здесь только для примера. Функциональное программирование предлагает великолепные возможности по улучшению качества и выразительности кода.
Компактное встраивание анонимных методов поможет поддержать поток вычислений без вызова методов, которые описаны в других участках кода. Было тяжело знакомиться с концепцией лямбда-выражений, но, однажды разобравшись, понял, что код стал на порядок чище! Знакомимся...
Читать статью (5 мин)
#clean_code #programming
Привет клинкодерам! На самом деле, Java здесь только для примера. Функциональное программирование предлагает великолепные возможности по улучшению качества и выразительности кода.
Компактное встраивание анонимных методов поможет поддержать поток вычислений без вызова методов, которые описаны в других участках кода. Было тяжело знакомиться с концепцией лямбда-выражений, но, однажды разобравшись, понял, что код стал на порядок чище! Знакомимся...
Читать статью (5 мин)
#clean_code #programming
С Наступающим Новым 2021 Годом!
Привет клинкодерам! Поздравляем вас с наступающим, а может, и с наступившим новым годом, желаем вам бесконечной энергии для реализации ваших бесподобных идей в мире программирования! Мы очень благодарны, что вы остаетесь с нами, цените о оцениваете наш труд.
Нам очень приятно, что вы принимаете активное участие в обсуждении раскрываемых тем! Уходящий год был тяжелым, будем надеяться, что мы справимся! Желаем здоровья вам и вашим близким, берегите себя! На ваших светлых головах держится вся индустрия!
#clean_code #happy_new_year
Привет клинкодерам! Поздравляем вас с наступающим, а может, и с наступившим новым годом, желаем вам бесконечной энергии для реализации ваших бесподобных идей в мире программирования! Мы очень благодарны, что вы остаетесь с нами, цените о оцениваете наш труд.
Нам очень приятно, что вы принимаете активное участие в обсуждении раскрываемых тем! Уходящий год был тяжелым, будем надеяться, что мы справимся! Желаем здоровья вам и вашим близким, берегите себя! На ваших светлых головах держится вся индустрия!
#clean_code #happy_new_year