Разработчик назвал 10 принципов, которые отличают хорошего программиста от плохого
Писать программы сложно, а писать хорошие программы — еще сложнее. Существует множество методик, такие как «чистый код», принципы STUPID и SOLID и многое другое, с помощью чего можно стать хорошим программистом и не делать того, что делают плохие. Как перестать писать плохой код, в своем блоге рассказал Ан Дэнг. По его словам, чтобы постичь эти истины у него ушло 15 лет.
Вот что он написал.
Для любого языка программирования существует набор принципов, которые выступают в качестве фундаментальной основы: синтаксис, ключевые слова, концепции и так далее. Начинайте изучение языка программирования не с синтаксиса, потом что он везде разный, а с концепций.
К концепциям относятся такие вещи, как:
if-else
);for
);Если вы умеете писать if-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 — это акроним, который означает неудачный опыт в ООП и приводит к плохому коду. Расшифровывается как:
Подробнее о них можно почитать здесь.
Разработчик должен быть уверен, что делает правильные вещи и не делает ничего лишнего. Давайте использовать инструменты и библиотеки, разработанные другими. Кроме того, существуют рекомендации по кодированию для разных языков. Постарайтесь понять, какие решения существуют в мире, прежде чем приступать к созданию чего-то с нуля.
Тратя время на собеседование и составление вопросов, которые помогут оценить навыки кандидата и понять, подойдет он или нет, вы рискуете потерять его. Не концентрируйтесь на найме только лучших людей.
Лучшие люди необязательно станут подходящими членами вашей команды. Когда вы наймете хорошего лидера, остальные последуют за ним. Давайте нанимать правильных людей и делать их счастливыми.
Существуют различные виды когнитивных убеждений, которые влияют на процесс найма. Одно из них — личное, которое заключается в особенности человека инстинктивно окружать себя людьми, похожими на него самого.
Люди испытывают естественное желание нанимать тех, кто имеет схожие характеристики: образование, профессиональный опыт, функциональные знания и схожий жизненный опыт. Такое незначительное сходство, как правило, не имеет никакого отношения к производительности. Это приводит к формированию команды с узким полем зрения.
Если попросите, всегда найдется человек, который будет готов вам помочь. Никогда не бойтесь этого, но и не слишком гордитесь тем, что можете обратиться к другим людям за советом. Задавайте даже самые безумные вопросы. Вы не можете знать все. И это нормально!
А вот еще 20 мудрых советов от разработчика с 20-летним стажем, который прошел путь от специалиста по разработке программного обеспечения до CEO небольшой IT-компании.
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…