TDLR: Рефакторинг, рефакторинг, рефакторинг!

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

Сначала вы начинаете с A, затем, конечно же, с B до «логического» перехода к C, чтобы закончить с D.

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

Так же, как когда вы действительно должны сделать что-то правильно?

Программирование — «грязная» работа

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

Но не обманывай себя. Это просто готовая версия после бесчисленных раундов рефакторинга.

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

Ошибка отсутствия рефакторинга

Люди, которые руководствуются только учебником и думают, что программирование ИС, в конце концов думают, что они тоже, как и учебник, могут делать эти сложные логические скачки и что их «готовый» продукт так же прост, как A -> B -> C -> D, за исключением того, что это далеко от истины.

Они делают что-то вроде: A -> Z -> J -> G -> Z -> C -> P -> O -> D повторяя некоторые шаги, делая окольный путь вместо аккуратной альтернативы, заканчивают и на этом заканчивают!

TDD

Если вы знакомы с TDD, то вы знаете 3 шага:

  • Красный: тест не пройден
  • Зеленый: пройти тесты
  • Рефакторинг!

Даже если вы не используете тесты, вы все равно можете использовать эти три шага:

  • Это не работает.
  • Оно работает.
  • Рефакторинг!

Рефакторинг похож на «мытье рук»

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

Это то, что вы просто делаете! Ожидается, что он будет частью любой вашей оценки.

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

«Правило бойскаута»

Лучшее время для рефакторинга было, когда вы устроили беспорядок, следующее лучшее время — сейчас!

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

Итак… каждый раз, когда вы извлекаете файл: рефакторинг!

Рефакторинг, рефакторинг, рефакторинг!

Этого никогда не будет достаточно, и это нормально!

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

Как начать?

Теперь… это история в другой раз.

А пока ищите: Кента Бека, Мартина Фаулера, Майкла Фезерса, Сэнди Мец и дядю Боба.

Фото на обложке Markus Winkler на Unsplash