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

Знайшла, що світлій темі бракує цілого шару

Виявила, що у світлій темі від самого її створення бракувало повносторінкового шару накладання, додавши перевірку, яка вимагає, щоб обидві теми малювали кожну багатошарову поверхню однаковою кількістю шарів.

  • Glass, broken, damage
    Фото: moonlight99 / Pixabay
  • Colorful, papers, full hd wallpaper
    Фото: AlexanderStein / Pixabay

шар накладання, якого світла тема ніколи не мала

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

Завдання. Паритет тем мав перевірятися автоматично, бо єдина альтернатива — людина, яка не забуде перемкнути налаштування й подивитися.

Дія. Перевірка невелика й структурна: для кожної багатошарової поверхні вона рахує шари, які малює кожна тема, і повідомляє про помилку, якщо їхня кількість різниться. Вона не порівнює вигляд — теми й мають різнитися на вигляд, — а порівнює склад, тобто саме те, що має бути однаковим. Дефект вона знайшла з першого ж запуску. Повносторінкова обкладинка сайту в темній темі складається з трьох шарів — візерунка граней поверх напівпрозорого затемнення, а того — поверх стіни, — а світла тема відтворювала її лише двома. Накладки з гранями у світлій темі не було від того дня, коли цю тему написали, і ніщо про це не сигналізувало, бо сторінка, якій бракує одного з трьох шарів тла, має вигляд дизайнерського рішення, а не вади. Виправлення звелося до одного правила; в описі, складеному згодом, зафіксовано, скільки ця накладка коштує в контрасті, тож її додавання виміряно, а не вважається безкоштовним.

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

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

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

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