Главная

Насколько ваши предпочтения эффективны

Чтобы стать хорошим программистом, нужно знать, что вас делает плохим.

Поделиться:
 

4+

Умение разрабатывать отличное ПО — это не какой-то мифический идеал, это то, над чем вы должны постоянно работать. Для начала следует прояснить, что именно делает программиста великим, а что нет.

Большинство программистов не могут понять, что именно делает их неэффективными. Какие привычки незаметно мешают на пути к хорошо продуманному и элегантному коду? Эти привычки медленно и незаметно притупляют остроту ваших умений.

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

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

1. Много бесполезных комментариев в коде

Если вам нужно объяснять каждую строчку кода комментарием, то вы явно делаете что-то неправильно. Ваш код должен быть самодокументируемым и интуитивно понятным, чтобы любой программист мог взглянуть на него и почти сразу понять смысл и цель вашего кода.

Комментарии — это признак того, что ваш код нуждается в реструктуризации. Пишите комментарии только в случае крайней необходимости, например, в инструкциях TODO. Чтобы иметь чистый код, вам следует удалить все ненужные комментарии.

2. Написание очень длинных функций

Если вы обнаружите, что у вас есть функции, длина которых превышает 15–20 строк, это верный признак того, что они делают слишком много вещей. Это создает сильную зависимость между вашей логикой, делая ваш код неспособным к расширению и, в случае надобности в изменении кода, его придется сильно изменять.

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

3. Нерегулярное тестирование

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

4. Следование методике “Если работает, не трогай”.

Это, возможно, худший совет, который когда-либо давали любому программисту. Такое мышление может создать множество проблем в будущем. Если код работает, это еще не значит, что все хорошо. Скорее всего, это всего лишь черновой вариант. Как и любой другой черновик, он должен быть отредактирован и переработан, чтобы стать наиболее оптимальным и чистым решением.

Image for post

5. Отказ от доступных ресурсов

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

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

Умение исследовать — важный навык, который должны развивать в себе все программисты, чтобы быть эффективными. Если вы чего-то не знаете, погуглите — не занимайте время коллеги, чтобы быстро получить решение.

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

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

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

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

7. Отсутствие интуитивно понятных или специальных соглашений об именах

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

Помните, что длинное описательное имя всегда лучше, чем короткое и неописательное. Вы должны смотреть на имя переменной/функции и сразу понимать зачем она нужна и что она делает.

То, что вы знаете, какое предназначение у функции/переменной, не означает, что все остальные тоже знают об этом.

8. Написание повторяющегося кода

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

9. Коллекционирование знаний

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

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

Заключение

Чтобы по-настоящему стать искусным программистом, вы должны сначала понять, чего вам не следует делать. Избегайте всех вышеперечисленных пунктов, чтобы писать более качественный и поддерживаемых код.
Если вы будете следовать советам из данной статьи, то вы точно станете хорошим программистом.
Спасибо!

4+