Стендап Сьогодні 📢 Канал в Telegram @stendap_sogodni
🤖🚫 AI-free content. This post is 100% written by a human, as is everything on my blog. Enjoy!25.07.2024
Культура ввічливого обходу
🚸 Обходи (або ж “хаки”, а взагалі ми їх частіше називаємо англійською - “workaround”) - це шматки коду, які написані не так, як ми хочемо, а так, як довелося через проблеми в чужому коді котрий ми не контролюємо. Часто тимчасово — до виходу виправлення. Щоб код не наповнювався загадковими нелогічними рядками, обходи потребують чіткої демаркації.
👉 Як мінімум потрібний коментар: # це обхід, через таку причину
. Коментар допоможе побачити (та пробачити), що наступний код написаний не за правилами. (Бо знаєте, трапляється й таке, що бачиш дивний код, починаєш рефакторити… та через пів години розумієш, що так робити не треба було, бо код був хаком.)
🍝 До речі, рефакторити обхід — зазвичай погана ідея… принаймні коли відомо, що потім його доведеться прибирати. Це той випадок, коли краще зробити прості (структурно) зміни та залишити їх. А якщо обхід стосується декількох місць — то варто перелічити їх в коментарі: # не забути подивитись на foo.rb та bar.go, коли будеш прибирати
.
📦 Окремо цікаво, коли обходи стосуються залежностей. Я не люблю package.json
та go.mod
за те, що в них не можна додати коментарі. Натомість в Gemfile
в Ruby можна додати скільки завгодно. Тут коментар виглядає як # під час оновлення перевірити цей файл та таку поведінку
.
🎫 А в ідеалі в коментарі до кожного обходу повинен бути тікет. Або такий, що вже існував та ми його тільки знайшли на GitHub - або можна (та варто!) створити власний.
Ось мені довелося освіжити файли конфігурації оболонки та дуже не вистачало пояснень до того, чому я написав декілька дивних рядків.