Дапамажыце dev.by 🤍
Падтрымаць

Разработчик: «чистый код» должен выглядеть неопрятно

Пакінуць каментарый
Разработчик: «чистый код» должен выглядеть неопрятно

Full-stack разработчик Стивен Дегути раскритиковал общепринятый подход к идее «чистого кода» в своём блоге. dev.by перевёл наиболее интересные фрагменты его рассуждений.

Читать далее

Фото: TheTechNews

Чистый код — это незаконченный код

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

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

«Чистый» не значит «идеальный»

Дегути пришёл к выводу, что «чистый код» означает «код, который не замедляет работу». Не существует магической формулы для того, чтобы ускорить и без того быструю разработку. Есть максимальная скорость работы каждого разработчика, и она может меняться ежедневно. Единственной надеждой на успех является способность избежать усложнений и необходимости рефакторинга или даже переписывания кода.

Иногда код просто должен иметь «неопрятные» части, и если у разработчика нет причины, по которой конкретную часть кода нужно изменить прямо сейчас, следует отложить работу до появления этой причины.

Фото: The Cheat Sheet

Чистый код может выглядеть неопрятно

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

Автоматические тесты не так важны

В целом они важны, но для всего нужно подходящее время и место. Для некоторых проектов лучшим вариантом будет вручную протестировать скрипт или приложение. Основанная на тестах разработка полезна. Кроме этого, 20, 50 или 300 тестов, результаты которых отображаются зелёным цветом, дают важное чувство удовлетворения в конце рабочего дня.

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

Даже эксперты сталкиваются с трудностями

Наблюдая за тем, как признанные профессионалы борются со сложными задачами, Дегути перестал беспокоиться об идеальности собственного кода. Если нет очевидных проблем, все тесты (ручные или автоматические) выполняются без ошибок, то с кодом всё в порядке.

Дегути отмечает, что после принятия такого положения вещей, его эффективность как разработчика серьёзно увеличилась — как и качество разработки.

Чытайце таксама
10 актуальных и интересных курсов по Rust + бонус от GitHub
10 актуальных и интересных курсов по Rust + бонус от GitHub
10 актуальных и интересных курсов по Rust + бонус от GitHub
В 2010 году Mozilla официально представила новый язык программирования Rust. Версия 1.0 вышла в 2015 году и в первый же год заняла третье место в опросе «Любимый язык программирования» на портале Stack Overflow. В течение последующих лет Rust прочно удерживал лидирующую позицию в этой номинации.  Рассмотрели преимущества и особенности языка, а также собрали курсы по Rust, которые будут интересны как новичкам, так и опытным программистам.
7 каментарыяў
13 курсов по программированию на C++
13 курсов по программированию на C++
13 курсов по программированию на C++
С++, несмотря на свой солидный возраст, продолжает оставаться одним из самых популярных языков программирования с широкой сферой применения: от разработки ПО до создания игр. В сети можно найти достаточно ресурсов, которые помогут освоить этот язык. Мы предлагаем обратить внимание на подборку, подготовленную Digitaldefynd и дополненную нами. В ней собраны как бесплатные, так и платные ресурсы для людей с разным уровнем подготовки и знаний С++.
1 каментарый
DataCamp открывает безлимитный доступ к курсам за $139 в год
DataCamp открывает безлимитный доступ к курсам за $139 в год
DataCamp открывает безлимитный доступ к курсам за $139 в год
Акция до конца дня: популярные курсы по разработке от Udemy с большой скидкой
Акция до конца дня: популярные курсы по разработке от Udemy с большой скидкой
Акция до конца дня: популярные курсы по разработке от Udemy с большой скидкой

Хочаце паведаміць важную навіну? Пішыце ў Telegram-бот

Галоўныя падзеі і карысныя спасылкі ў нашым Telegram-канале

Абмеркаванне
Каментуйце без абмежаванняў

Рэлацыраваліся? Цяпер вы можаце каментаваць без верыфікацыі акаўнта.

Каментарыяў пакуль няма.