Перейти до вмісту

Побудувала перевірку перед комітом із 22 лінтерів, кожен з яких описується одним рядком, і ще п'ятьох, що заслуговують окремого абзацу, без рівня попереджень і без дозволу на вбудоване вимкнення правил, яка охоплює HTML, CSS, JavaScript, Python, YAML, Markdown, shell, посилання, орфографію, секрети й типографіку.

22 однорядкових лінтерів і п'ять, що заслуговують на абзац

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

Завдання. Стандарти мали стати виконуваними, щоб порушення будь‑якого з них блокувало коміт, а не чекало, поки його хтось помітить.

Дія. Так з’явився набір перевірок із 22 лінтерів без рівня попереджень: кожна діагностика — помилка, а сам генератор сайту працює в режимі, де попередження стають збоями, тож навіть повідомлення про застарілу функцію зупиняє збірку. Очевидні перевірки на місці: HTML, CSS, JavaScript, Python, YAML, Markdown, shell‑скрипти, орфографія, секрети, биті посилання. Цікавіші — перевірки, специфічні для проєкту, щодо яких жоден готовий інструмент не має думки: що обидві колірні теми зафарбовують кожну багатошарову поверхню однаковою кількістю шарів, що жодну фотографію не показано ширшою за половину її вихідної ширини в пікселях, що розгорнуте дерево не містить жодного приватного шляху чи імені хоста, що текст дотримується правил тону всіма трьома мовами, що сторінка має двійника в Markdown і коректне подання для альтернативного протоколу. Вбудовані придушення заборонено повністю: жодних коментарів ignore, жодних директив disable, жодного обходу хука й жодного перейменування файлу, щоб він не потрапив під шаблон. Чесність цього тримається на правилі, що збій, який існував і раніше, — не виправдання: якщо перевірка виявляє дефект, якого ніхто щойно не вносив, його виправляють у тому самому проході.

Результат. Механічні зауваження робить машина ще до того, як з’являється коміт, і ці перевірки — єдиний рецензент у проєкті. Ціну не приховано, а названо: комітити повільно, а обходити погано написаний запобіжник справді дратує, тому згодом і самі запобіжники взяли під власний форматувальник і власний лінтер.

Одна частина довшого переліку — і він увесь на цьому сайті.

Кожен запис написано однаково: ситуація, завдання, що ми зробили і що змінилося.

Переглянути весь перелік