Статьи Александр Ельшин
Таймаут источника не должен превращаться в цену ноль
Почему временно недоступный источник должен давать состояние неизвестности, а не числовой ноль, который затем искажает сортировку, фильтры и расчёты.
Галерея должна сохранять связь кадра с подписью после сбоя загрузки
Как одна не загрузившаяся фотография может перепутать смысл всей галереи и почему подпись должна принадлежать конкретному кадру, а не его месту в очереди.
Источник изображения должен оставаться связан с самим файлом
Как сохранить происхождение фотографии или визуализации после обрезки, уменьшения и переиспользования, чтобы изображение не потеряло смысл.
Сортировка по цене должна честно обращаться с объектами без цены
Как сортировать каталог, если часть объектов имеет подтверждённую цену, а часть — только состояние «по запросу», не превращая неизвестное значение в самое дешёвое или самое дорогое.
Миграция данных должна проверять пары RU и EN после переноса
Почему успешное копирование записей ещё не означает успешную миграцию двуязычного каталога и какие смысловые связи важно проверить после переноса.
Ошибка в генераторе опаснее ошибки на одной странице
Почему Александр Ельшин отдельно проверяет шаблоны, генераторы и общие источники данных: один дефект там может размножиться на сотни страниц NovAsia.
Часовой пояс может сделать «обновлено сегодня» неверным
Почему относительная подпись даты должна опираться на понятный момент обновления, а не менять смысл факта вместе с часовым поясом пользователя.
Черновая пометка из админки не должна случайно попасть на публичную страницу
Почему внутренние статусы редакции и публичные состояния объекта нужно разделять, не скрывая при этом существенную неопределённость для покупателя.
Структурированные данные не должны рассказывать больше страницы
Почему schema.org полезна только тогда, когда разметка отражает видимое и подтверждённое содержание страницы.
После релиза я проверяю не только новую страницу
Новая функция может сломать старую. Почему релиз NovAsia нужно смотреть по зависимостям, а не только по задаче разработчика.
Формат числа по языку не должен менять его значение
Как локализация чисел может изменить восприятие суммы и почему языковая версия должна менять представление, но не исходное значение.
Двойной клик по форме не должен создавать две одинаковые заявки
Как отличить повторную отправку одного намерения от второй реальной заявки и почему защита формы должна быть видна не только в кнопке, но и в результате.
Скорость страницы нельзя улучшать ценой нужной функции
Почему производительность важна, но удаление полезного сравнения или источников ради метрики может сделать сайт хуже.
Мониторинг должен различать сбой страницы и сбой источника данных
Почему зелёный статус страницы ещё не доказывает целостность данных и как различение типов сбоя помогает не вводить покупателя в заблуждение.
Синонимы проекта должны вести к одной сущности, а не склеивать разные фазы
Почему варианты названия проекта должны помогать найти одну сущность, не стирая различия между фазами, башнями и другими самостоятельными частями.
Редирект — это обещание, что новый адрес заменяет старый
Почему не каждый исчезнувший URL нужно вести на главную и как технически сохранить смысл при переносе страниц.
Hreflang полезен только когда обе версии действительно существуют
Почему языковая разметка не должна пытаться склеить страницы, которые не являются полноценными эквивалентами.
Форма считается работающей только после доставки сообщения
Почему зелёная надпись «отправлено» ещё не доказывает, что заявка действительно дошла до команды.
Смена адреса страницы не должна менять внутреннюю историю объекта
Как сохранить историю, сохранения и контекст объекта при смене публичного адреса страницы, не превращая новый маршрут в новую сущность.
Единицы измерения должны путешествовать вместе с числом
Почему число без единицы теряет смысл при импорте, сравнении и расчётах и как сохранить размерность от источника до интерфейса.