🫡 Идеального кода не существует. И это нормально.

Раньше я сам страдал фетишизмом на идеально вылизанный код, без малейших изъянов. Хотел смотреть на него и думать:

"Вот это да, как же он хорош."

Правда в том, что такой подход убивает.

⚖ Баланс между качеством кода и целями бизнеса

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

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

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

Да-да, именно поэтому нельзя забывать про техдолг. Он как раз помогает уменьшить количество говнокода. В хорошем проекте всегда есть ресурсы для работы с техдолгом, для рефакторинга и улучшения. Если их нет - беда 🥲

☑ Рефакторинг как способ борьбы

Есть хорошая цитата Мартина Фаулера:

"... a bout of refactoring results in increased productivity. Not having enough time usually is a sign that you need to do some refactoring."

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

Кому интересно, здесь можно посмотреть еще цитаты от М. Фаулера.

Что важно понимать?

▫ идеального кода нет и не будет;

▫ иногда нужно сделать криво, чтобы работало, позже улучшить;

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

В общем, не пишите плохо, пишите хорошо. Все 🤗

1
Начать дискуссию