Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Как обосновать? «Да вы что, если если пользователь ТАКОЕ увидит, то он сразу обидится и уйдет.» Стоп. Включаем мозг. Это дебаг-панель. Она для тестировщиков и разработчиков, помощник в тестировании[2]. Пользователь ее НИКОГДА не увидит. А если увидит, то ВОТ ЭТО уже будет баг, причем критичный!
— Я пытаюсь зарегистрироваться с емейлом.рф и не могу. Это баг!(отчаянно пиная разработчика ногами) Потому. Что. Ты. Скотина. Недоученная. Нарушаешь
— Почему?
Между прочим, если вы прочитаете повнимательнее раздел про домены (https://tools.ietf.org/html/rfc5321#section-2.3.5), там есть ограничение на то, что символы должны быть из ASCII. Т.е. никаких кириллических символов.
.рф — это на самом деле .xn--p1ai?Вы мне пуникод не приплетайте, пользователь вам не в пуникоде адрес вводит. Соответственно, корректный с точки зрения RFC 5321 валидатор должен такие строки заворачивать. Просто если вы уж даете ссылки на стандарты, давайте ссылки на правильные, в данном случае https://tools.ietf.org/html/rfc6531#section-3.2
пользователь вам не в пуникоде адрес вводит
Однажды я зашла в баг-трекер и увидела такой баг от студента: «Мы вводим имя Шарипат, оно определяется как мужское. А должно — как женское!». Почему должно как женское? Я смотрю на это имя — ну Шарипат и Шарипат, выглядит как мужское. Я спрашиваю:
— Почему ты так решил? Почему женское?
— Да потому, что у меня жену так зовут!
Студент нашел опечатку в оферте пользователя. Поставил баг с критикал-приоритетом.
Паттерны и антипаттерны обоснования задач