Автор: Serguey Shinder
Довгий час я міряв свою цінність кількістю написаного. Більше рядків, більше функцій, більше можливостей — здавалося, що це і є робота. Коли я додавав щось нове, я відчував прогрес. Коли переглядав чужий код і бачив тисячі рядків, я мимоволі поважав автора: скільки ж він зробив.
Перелом почався з простого спостереження. Найстабільніші, найнадійніші частини наших систем були не найбільшими. Вони були найменшими. А найбільше болю приносили саме ті шматки, де хтось колись передбачив усе на світі — купа налаштувань, гнучкість на всі випадки, абстракції поверх абстракцій. Код, написаний під майбутнє, яке так і не настало.
Тоді я почав помічати, скільки всього ми будуємо про запас. Опція, якою ніхто не скористався. Рівень гнучкості, який ускладнив геть усе заради випадку, що не трапився. Ми плутали «а раптом знадобиться» з «потрібно зараз» — і платили складністю за здогад.
Найважче було навчитися не писати. Стриматися. Побачити задачу й вирішити її найпростішим способом, який працює сьогодні, а не найзагальнішим, який може знадобитися колись. Кожен рядок, який я не написав, — це рядок, який не треба тестувати, не треба розуміти, не треба супроводжувати роками. Код, якого немає, не ламається.
Тепер, коли мені кортить додати гнучкості «про всяк випадок», я питаю себе просту річ: у мене справді є ця потреба, чи я лише уявляю її? Майже завжди — уявляю. І тоді я не пишу. Я лишаю систему простою й чекаю, поки реальна потреба з’явиться сама. Тоді я додам рівно те, що треба, і ні краплі більше.
Найкращий код, який я написав за останні роки, — це той, який я вирішив не писати. Я перестав пишатися обсягом і почав пишатися тим, як мало коду вистачає, щоб зробити діло. Складність легко додати й важко прибрати. Простота — це те, за що дякуватимеш собі роками.
– Serguey Asael Shinder
Leave a comment