Едно екраниране в повече в осем диаграми
Известно време осем публикации в този блог показваха седемте знака — насред изречението, в диаграмите. Не тире. Буквалният текст. Оттогава това е поправено на всички езици.
81 реда, 91 срещания. В текста на същите осем публикации: нито едно.
Едно екраниране в повече
Диаграмите са вграден SVG, записан в тялото на статията. Надпис, в който трябва да има тире, съдържа —, а браузърът го превръща в тире, точно както в абзац.
Записано обаче беше —. Браузърът послушно превърна това в петте знака, които изписват символна препратка, и ги нарисува. Текстът остана незасегнат, защото никога не е минавал през онова, което е добавило излишното екраниране; минаха само надписите и само в публикациите, чиито надписи са били изградени по онова време.
Причината е малка и скучна. Това, което си струва да се запише, е защо стоя пред очите на всички толкова дълго и какво сложи край на това.
Проверката го видя и каза друго
Има проверка, която мери дали надписът в диаграмата се побира в картинката си. Тя докладваше тези надписи от дни — като твърде широки.
И наистина бяха. Надпис, който рисува седем знака вместо един, е с около четиридесет и пет пиксела по-широк от замисленото, така че измерването беше вярно и докладът беше верен. Изводът, който читателят на този доклад би направил, не беше. Числото казваше, че геометрията е твърде тясна. Истината беше, че текстът не е това, което изглежда.
Ето как стоят нещата. Проверката отговаря на въпроса, който ѝ е зададен, и не може да съобщи, че въпросът е бил грешен. Тук нищо не е измерено погрешно; измерването просто се отнасяше до друг проблем от този, който изглеждаше.
Какво го откри
Изобразяването на една диаграма и поглед към нея. Headless Chromium, една екранна снимка, десет секунди. Символната препратка стоеше в третия ред на картинката, с букви със същия размер като всичко останало.
Поправката беше миграция, която замени & с & за фиксиран списък от имена на символни препратки и само вътре в <svg class="dg"> блокове, така че амперсанд, замислен като амперсанд, си остана такъв. Всичко извън този списък беше докладвано и оставено непипнато, вместо да се гадае. Всичките 81 реда бяха поправени на всеки език; единствените срещания, останали в блога, са тези, цитирани нарочно в тази публикация.
Какво важи по принцип
Всяка автоматична проверка в този проект мери нещо числово, защото числата са това, което програмата може да сравнява. Нито една от тях не може да види, че картинката се е превърнала в безсмислица, че една кутия е празна или че на мястото на символ стои изписана дума.
Затова правилото, което произлезе от това, е кратко: след всяка промяна в диаграма изобразете една и я погледнете, на езика, който има нужда от най-много място. То вече хвана две неща, които никое измерване не би хванало — това и една празна кутия, останала, след като надписът беше изнесен от нея.