Връзка с поддръжката

Отговаряме по имейл, обикновено до два дни.

Google reCAPTCHA проверява това изпращане срещу злоупотреби; данни се изпращат към Google. Скриптът се зарежда само когато този формуляр бъде отворен.

← Всички публикации

Едно екраниране в повече в осем диаграми

Известно време осем публикации в този блог показваха седемте знака — насред изречението, в диаграмите. Не тире. Буквалният текст. Оттогава това е поправено на всички езици.

81 реда, 91 срещания. В текста на същите осем публикации: нито едно.

редове с диаграми, които отпечатаха символната препратка вместо тирето единадесет езика броене без бисквитка middot, mdash експорт на данните като CSV или JSON mdash брояч чрез tag manager mdash брояч на HTTPS страница mdash брояч в профил в chomikuj mdash дълъг URL свали брояча mdash защо списъкът за изключване не е хеширан mdash кешът, който живее в паметта mdash 81 реда в 8 публикации, 91 срещания — и нито едно в текста проверката на ширината ги виждаше като твърде широки, никога като грешни

Едно екраниране в повече

Диаграмите са вграден SVG, записан в тялото на статията. Надпис, в който трябва да има тире, съдържа —, а браузърът го превръща в тире, точно както в абзац.

Записано обаче беше —. Браузърът послушно превърна това в петте знака, които изписват символна препратка, и ги нарисува. Текстът остана незасегнат, защото никога не е минавал през онова, което е добавило излишното екраниране; минаха само надписите и само в публикациите, чиито надписи са били изградени по онова време.

Причината е малка и скучна. Това, което си струва да се запише, е защо стоя пред очите на всички толкова дълго и какво сложи край на това.

Проверката го видя и каза друго

Има проверка, която мери дали надписът в диаграмата се побира в картинката си. Тя докладваше тези надписи от дни — като твърде широки.

И наистина бяха. Надпис, който рисува седем знака вместо един, е с около четиридесет и пет пиксела по-широк от замисленото, така че измерването беше вярно и докладът беше верен. Изводът, който читателят на този доклад би направил, не беше. Числото казваше, че геометрията е твърде тясна. Истината беше, че текстът не е това, което изглежда.

Ето как стоят нещата. Проверката отговаря на въпроса, който ѝ е зададен, и не може да съобщи, че въпросът е бил грешен. Тук нищо не е измерено погрешно; измерването просто се отнасяше до друг проблем от този, който изглеждаше.

Какво го откри

Изобразяването на една диаграма и поглед към нея. Headless Chromium, една екранна снимка, десет секунди. Символната препратка стоеше в третия ред на картинката, с букви със същия размер като всичко останало.

Поправката беше миграция, която замени &amp; с & за фиксиран списък от имена на символни препратки и само вътре в <svg class="dg"> блокове, така че амперсанд, замислен като амперсанд, си остана такъв. Всичко извън този списък беше докладвано и оставено непипнато, вместо да се гадае. Всичките 81 реда бяха поправени на всеки език; единствените срещания, останали в блога, са тези, цитирани нарочно в тази публикация.

Какво важи по принцип

Всяка автоматична проверка в този проект мери нещо числово, защото числата са това, което програмата може да сравнява. Нито една от тях не може да види, че картинката се е превърнала в безсмислица, че една кутия е празна или че на мястото на символ стои изписана дума.

Затова правилото, което произлезе от това, е кратко: след всяка промяна в диаграма изобразете една и я погледнете, на езика, който има нужда от най-много място. То вече хвана две неща, които никое измерване не би хванало — това и една празна кутия, останала, след като надписът беше изнесен от нея.

Реклама