Віктор Турський про програмування / навігатор

концепції / code-quality

Якість коду

Віктор ставить під сумнів класичний трикутник «швидко / якісно / дешево — обери два»: можливо, можна мати всі три, бо якісний код дешевший і швидший у розробці, а не розкіш, за яку платиш швидкістю (3 речі, що псують програміста). Його визначення підкреслено неперфекціоністське: якість — це код, який не заважає себе розширювати; абстракції, що продовжують працювати, коли система росте; код, який ніколи не доводиться викидати. А найособистіший його аргумент — що поганий код шкодить тобі, а не лише проєкту: звичка писати халтурний код руйнує ту інтуїцію на «запах коду», завдяки якій сеньйори бачать проблеми ще до того, як прочитали код. Ця звичка ставить стелю твоєму власному росту.

Підступний ворог — консистентність зі структурою, що вже віджила своє: кодова база гниє навіть тоді, коли кожна окрема зміна виглядає ідеально консистентною з навколишнім кодом — саме так виростають God Object-и та файли на 5000 рядків (страшні абстракції). Тож якість, як її подає канал, — це не так про вилизування рядків, як про вміння помітити, що сама структура вже прострочена, — і це повʼязує її з технічним боргом та форматами ревʼю, які дивляться далі за дифф (код-ревʼю).

Розібрано у відео

Повʼязане

Абстракції — якість = абстракції, що переживають розширення Технічний борг — те, що накопичується, коли якість оцінюють лише по діффу Код-ревʼю — автоматизація стилю, виявлення того, чого не покажуть діффи Карʼєра і зростання — халтурний код шкодить програмісту, а не лише кодовій базі Clean Code, Code Complete — книжкова полиця майстерності