У меня есть история буквально про один из бирмановских антипримеров — склеивание предложений через двоеточие.
В конце нулевых я работал в компании, которая делала свой продукт — метапоисковую систему. И там были именно такие заголовки:
Найдено результатов: 125
Уже тогда я читал Ководство, бюрошные советы и Тафти. И вот однажды, накопив дизайнерской мудрости, я решил причинить всем добро и переделал вот так:
Найдено 125 результатов
Не будем отвлекаться на разговор о склонениях, это в истории не главное. Тогда у нас была логика в PHP-шаблоне, сейчас есть
Intl.PluralRules в браузере и ещё куча способов.Хуже другое: через какое-то время я осознал, что прежний вариант был удобнее. Это физически ощущалось при ежедневной работе. Старый вариант, при всей своей неказистости, просто работал. А новый создавал какое-то противное микротрение.
Результат неожиданный и ставит под сомнение всю доктрину. Как такое может быть?
Дело в том, что интерфейсы — не худлит; мы не читаем их последовательно, мы их сканируем. А при постоянном использовании (например, в профсистемах) чтение вообще сводится к минимуму. Мы запоминаем геометрические и поведенческие паттерны — куда нажимать и в какое место экрана смотреть.
Так вот. Исходный вариант оказался эффективнее, потому что найти взглядом конец строки проще, чем вычленять что-то из её середины. Да, можно выделить число шрифтом, станет получше. Но это не противоречит тому, что якорь в конце строки сильнее.
Образно говоря,
Array.pop() оказался быстрее, чем Array.find(). Или ещё более образно: заголовок показывает число на вытянутых руках, как Рафики младенца Симбу.