концепції / code-quality
Якість коду
Віктор ставить під сумнів класичний трикутник «швидко / якісно / дешево — обери два»: можливо, можна мати всі три, бо якісний код дешевший і швидший у розробці, а не розкіш, за яку платиш швидкістю (3 речі, що псують програміста). Його визначення підкреслено неперфекціоністське: якість — це код, який не заважає себе розширювати; абстракції, що продовжують працювати, коли система росте; код, який ніколи не доводиться викидати. А найособистіший його аргумент — що поганий код шкодить тобі, а не лише проєкту: звичка писати халтурний код руйнує ту інтуїцію на «запах коду», завдяки якій сеньйори бачать проблеми ще до того, як прочитали код. Ця звичка ставить стелю твоєму власному росту.
Підступний ворог — консистентність зі структурою, що вже віджила своє: кодова база гниє навіть тоді, коли кожна окрема зміна виглядає ідеально консистентною з навколишнім кодом — саме так виростають God Object-и та файли на 5000 рядків (страшні абстракції). Тож якість, як її подає канал, — це не так про вилизування рядків, як про вміння помітити, що сама структура вже прострочена, — і це повʼязує її з технічним боргом та форматами ревʼю, які дивляться далі за дифф (код-ревʼю).
Розібрано у відео
- 3 речі, що псують програміста
виклик трикутнику швидко/якісно/дешево, якість як розширюваність, поганий код руйнує інтуїцію на «запахи»
- Голосове №3 — страшні абстракції
гниття через консистентність: кожна зміна виглядає нормально, а файл сягає 5000 рядків
Повʼязане
Абстракції — якість = абстракції, що переживають розширення Технічний борг — те, що накопичується, коли якість оцінюють лише по діффу Код-ревʼю — автоматизація стилю, виявлення того, чого не покажуть діффи Карʼєра і зростання — халтурний код шкодить програмісту, а не лише кодовій базі Clean Code, Code Complete — книжкова полиця майстерності