Какие привычки программистов мешают писать хороший код и как от них избавиться — отвечают эксперты
Костыли, велосипеды, ненужный рефакторинг — список вещей, об которые может споткнуться начинающий (и не очень) программист, можно продолжать долго. О том, какие плохие привычки встречаются у программистов и как с ними бороться, Tproger решил узнать у своих экспертов.
Юрий Пономарев, консультант Центра технической поддержки РДТЕХ:
Самая плохая привычка — не вносить изменения в документацию. Проектное время должно расходоваться преимущественно на создание кода. И начинающие программисты часто задаются вопросом: зачем вообще нужна документация и строгая нумерация в ней, зачем нужны отметки об исполнении не только в Jira, но и на бумаге. По итогу человек, не придерживающийся технологии работы с кодом, может украсть 2–3 дня квалифицированной команды, которая, конечно, разберётся, что и как сделано, но слов ругательных скажет много.
Лечение — только в отстроенном технологическом процессе. Чем «махровей» энтерпрайз, тем меньше он доставляет головной боли. Кстати, хорошие продукты, производимые под свободными лицензиями, это давно поняли и тоже стремятся к разумному и документированному взаимодействию.
Ещё про костыли. Есть наборы продуктов, которые без костылей не запустить никак. Более того, сочетание версий костылей библиотеках Python 2 и 3 — отдельная тема на многих конференциях для разработчиков. Даже крупные вендоры выпускают патчи при смене парадигмы костылей. Поэтому исправление плохой привычки следующее: используешь костыль — отладь, оттестируй, выступи в группе или на форуме. Можешь создать бескостыльную систему — делай. И документируй. Не будь отрицательным примером!
Теперь касательно велосипедов. Конечно, на собеседовании и тестовых примерах можете демонстрировать хоть знание Кнута, Ахо, Страуструпа или иных гуру. Но как только написано «алгоритм должен/может/обязан», — конец творчеству, конец велосипедам. Берём мануалы по языку, библиотекам, на худой конец идём на курсы. Мы физически не можем закладывать логическую бомбу внутрь промышленного изделия. Иначе восьмёрки на колесах нашего велосипеда могут подорвать любой бэкенд. Пример: на ряде промышленных систем чёрный цвет на снимках фотограмметрии стал серым, так как никто не мог додуматься, что при смене архитектуры чипа может поменяться алгоритм закраски фона белым цветом. Тут нужна комплексная борьба — так как графические системы ваяются чуть ли не на коленках. И велосипед одних может врезаться в дерево других.
Ознакомиться с полной версией обзора можно на https://tproger.ru