Пишите Плохой Код И Не Стыдитесь Этого

Я могу написать хороший код. Обычно это предполагает проведение немного больше времени здесь и сейчас во имя лучшего мирового порядка в будущем.

Но здесь мы исходим из того, что знаем, чего ожидать от будущего.

А в развитии будущее обычно трудно предсказать.

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

в 2020 г.

).

Примеры).

В ситуации, когда будущее неопределенно, на первый план выходит продолжительность цикла.

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

Любые препятствия плохо влияют на продолжительность цикла.

Они лишают меня способности превращать неопределенность в уверенность, а в этом и состоит суть обучения.

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

Есть поговорка «Написать — значит переписать», переводя ее на код, можно сказать: «Написать код — значит провести рефакторинг».

Имея это в виду, вот несколько причин, почему вам не следует бояться писать паршивый код. Точнее, почему не стоит бояться писать более паршивый код.



Это улучшает ваши навыки кодирования

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

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

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

Единственный способ углубить необходимые знания — работать с этими инструментами и средами.

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



Это поможет вам снова испытать радость творчества.

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

А это означает прямой путь к тому удовлетворению и ощущению успеха, которое возникает, когда что-то – что угодно – начинает работать.

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



Это позволяет вам исследовать сломанный код или сломанную систему.

Иногда в системах что-то не работает. Как я видел, именно это дает богатые возможности чему-то научиться.

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

Кроме того, когда вы усердно работаете над написанием безупречного кода, вы эмоционально вовлекаетесь в его правильную работу.

Если после завершения возникают какие-либо ошибки, первое, что вы делаете, это начинаете искать внешнюю причину.

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

Такой подход стимулирует любопытство и не портит настроение.

Код никогда не замыкается на себе.

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

Это значит, что любая ошибка – это идеально составленный индивидуальный урок, адаптированный для максимальной пользы обучения.



Это научит вас исправлять ошибки.

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

Когда я пишу паршивый код, эти каналы начинают работать с более высокой частотой.

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

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

Дело в том, что при написании кода улучшаются как сами инструменты, так и мое умение с ними работать.



Это помогает изучить область дизайна.

Когда я пишу код, реализующий какие-то незнакомые мне функции (то есть почти всегда, иначе это уже рефакторинг), я понятия не имею о сфере дизайна.

Я не знаю, что возможно в принципе из-за нехватки информации.

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

Это исследование проектной области.

Иногда мне приходится сравнивать два возможных варианта архитектуры, но это сильно сужает рамки того, что на самом деле возможно — гипотетических вариантов архитектуры, скорее всего, десятки.

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

Это приводит к определенной точке, с которой открывается новый, более полный обзор возможностей.



Заниженные ожидания освобождают ваш разум и руки.

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

Вместо досады и раздражения я испытываю любопытство, радость открытия и удовлетворение от достигнутого результата.

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



Окончательно

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

Некоторые из этих «должен» складываются в рамки, которые помогают расставить приоритеты в проектировании систем.

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

Но в конечном итоге все они полезны, пока направляют вас, и перестают быть полезными, если начинают вас тормозить.

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

Теги: #Образовательный процесс в IT #самообразование #качество кода #отладка

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.