Рубріки: Мнение

Не будьте STUPID: разработчик назвал 10 принципов, которые отличают хорошего программиста от плохого

Богдан Мирченко

Писать программы сложно, а писать хорошие программы — еще сложнее. Существует множество методик, такие как «чистый код», принципы STUPID и SOLID и многое другое, с помощью чего можно стать хорошим программистом и не делать того, что делают плохие. Как перестать писать плохой код, в своем блоге рассказал Ан Дэнг. По его словам, чтобы постичь эти истины у него ушло 15 лет. 

Вот что он написал. 

Просто уметь писать код недостаточно

Для любого языка программирования существует набор принципов, которые выступают в качестве фундаментальной основы: синтаксис, ключевые слова, концепции и так далее. Начинайте изучение языка программирования не с синтаксиса, потом что он везде разный, а с концепций. 

К концепциям относятся такие вещи, как: 

Если вы умеете писать if-else, но не знаете, как их использовать, это означает, что вы изучили синтаксис, но не понимаете фундаментальных концепций. 

Избегайте устаревшей информации…

Будьте в курсе новостей индустрии, но помните, что каждый источник имеет свои преимущества и недостатки. Технологии меняются очень быстро, и вы можете получить неактуальную информацию, если будете опираться на старые ресурсы. 

Прежде чем приступать к изучению материала, проверьте дату публикации. Также проверяйте свежесть версий библиотек, которые используете в программах, чтобы работать только с последними релизами.

…но не забывайте о старых книгах 

Читайте старые книги! В некоторых собрана информация, которой уже десять и более лет, но она до сих пор актуальна и крайне полезна. Человечество существуют очень давно, поэтому почти о каждой проблеме, с которой вы сталкивались и столкнетесь, вероятно, кто-то уже писал. 

Не злоупотребляйте ключевым словом «else»

Иногда, в рядовых ситуациях, использование else уместно:

if (codition) {
if statements
} else {
else statements
}

Также можно прибегнуть к помощи операторов switch-case, но в сложных случаях хорошие программисты не используют ни их, ни ключевое слово else. Вместо этого они используют машины состояний (state-machine). Если вы ничего о них не знаете, вы плохой программист. Давайте исправляться! Изучить эту тему можно здесь

Для упрощения логики также следует опираться на закон Де Моргана. Есть два способа переписать булевы выражения, которые показаны ниже:

!(a || b || c) == (!a && !b && !c)
!(a && b && c) == (!a || !b || !c)

Не пишите плохие комментарии к коду

Плохие комментарии — хуже, чем их отсутствие вообще. Комментарий имеет нулевую ценность, если он неправильный. Вот пример плохого комментария:

/* set the value of the age integer to 32 */int age = 32;

Если вы пишите комментарии в программе, они должны отвечать на вопрос «зачем?», а не «как?». 

Также не добавляйте комментарии для объяснения неудачных имен (переменных, методов и классов). Лучше найдите время и исправьте их позже. 

Не будьте STUPID

STUPID — это акроним, который означает неудачный опыт в ООП и приводит к плохому коду. Расшифровывается как: 

  • Синглтон (Singleton);
  • Сильная связанность (Tight Coupling);
  • Невозможность тестирования (Untestability);
  • Преждевременная оптимизация (Premature Optimization);
  • Недескриптивное присвоение имени (Indescriptive Naming);
  • Дублирование кода (Duplication).

Подробнее о них можно почитать здесь. 

Не изобретайте колесо заново

Разработчик должен быть уверен, что делает правильные вещи и не делает ничего лишнего. Давайте использовать инструменты и библиотеки, разработанные другими. Кроме того, существуют рекомендации по кодированию для разных языков. Постарайтесь понять, какие решения существуют в мире, прежде чем приступать к созданию чего-то с нуля.

Не тратьте время на наем лучших специалистов

Тратя время на собеседование и составление вопросов, которые помогут оценить навыки кандидата и понять, подойдет он или нет, вы рискуете потерять его. Не концентрируйтесь на найме только лучших людей. 

Лучшие люди необязательно станут подходящими членами вашей команды. Когда вы наймете хорошего лидера, остальные последуют за ним. Давайте нанимать правильных людей и делать их счастливыми. 

Не допускайте предвзятости на собеседовании при приеме на работу

Существуют различные виды когнитивных убеждений, которые влияют на процесс найма. Одно из них — личное, которое заключается в особенности человека инстинктивно окружать себя людьми, похожими на него самого. 

Люди испытывают естественное желание нанимать тех, кто имеет схожие характеристики: образование, профессиональный опыт, функциональные знания и схожий жизненный опыт. Такое незначительное сходство, как правило, не имеет никакого отношения к производительности. Это приводит к формированию команды с узким полем зрения. 

Не бойтесь просить помощи

Если попросите, всегда найдется человек, который будет готов вам помочь. Никогда не бойтесь этого, но и не слишком гордитесь тем, что можете обратиться к другим людям за советом. Задавайте даже самые безумные вопросы. Вы не можете знать все. И это нормально!

А вот еще 20 мудрых советов от разработчика с 20-летним стажем, который прошел путь от специалиста по разработке программного обеспечения до CEO небольшой IT-компании.

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023