Почему Вы Не Можете Превратить Прототип В Окончательную Программу

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

Внимание: статья полна субъективизма и сюрреализма.

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

  1. Сколько раз вы получали исходный код от других разработчиков и находили его крайне непривлекательным?
  2. Сколько раз вам приходилось стыдиться своего кода, передавая исходный код другим разработчикам?
Мои ответы: постоянно, довольно часто.

Почему это происходит?

Почему Вы Не Можете Превратить Прототип В Окончательную Программу

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

Вы написали какой-то кусок кода, протестировали его — он делает именно то, что вам нужно.

Далее реализуем еще одну фичу, прикручиваем ее туда и пошло… В результате у нас получается пластилиновый комок, к которому со всех сторон прилипли кусочки, и он вот-вот развалится.

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

Поддержать все это дело можете только вы (ведь к черту документацию, это пустая трата времени).

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

Давать легче, чем получать.

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

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

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

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

Вы просто собираете воедино всё, что придумаете или найдёте.

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

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

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

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

Да-да, я знаю, что это не всегда получается.

Часто это пустая трата времени, или непонятно, как чисто включить в проект ту или иную вещь.

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

Думайте, а не делайте, не повторяйте код (DRY), не усложняйте (KISS), но и не упрощайте.

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

Теги: #Прототипирование #дерьмовый код #сам себя не пишет #программирование #Идеальный код

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