Стендап Сьогодні 📢 Канал в Telegram @stendap_sogodni

🤖🚫 Контент вільний від AI. Цей пост на 100% написаний людиною, як і все на моєму блозі. Насолоджуйтесь!

09.01.2024

Ціна виправлення помилки

Скільки разів ми чули історію про знамениту помилку, що була виправлена одним рядком? Ну, наприклад, класична відсутність значення там, де воно очікується. Чи був той рядок приречений стати великою помилкою, коли його писали?

Спостереження: проста помилка переростає в більшу з віком. Поки ти пишеш рядок чи модуль — помилки навіть не мають шансу запуститися. Потім можна помітити її локально — перевіркою вручну. Якщо не вдалося так — написати тест, зафіксувати таким чином поведінку вже цілого модуля. Але не факт, що ми покриємо тестом саме то місце, яке потрібно.

А потім трапляються дві речі. Раз — помилка виходить з наших рук та переходить у суспільство — де користувачів більше та співавторів коду теж. Два — ми забуваємо обставини, в яких помилка була створена, навіть сам час створення, та їх доведеться віднайти наново.

Так найтривіальніша з помилок може перерости в легендарну, яка наробить бід та вимагатиме значного часу на виправлення. Тому не можна залишати код не перевіреним, сподіваючись що час та використання “все виправлять” - щось й виправлять, але якою ціною?

Як уникнути простих помилок? Я думаю, тут нікого не здивує, що я бачу вихід в типізованих мовах: вони як раз запобігають тривіальним помилкам. Але це моя особиста пристрасть.