Как-то разработчику понадобилось добавить новую фичу. Он полез в модуль кода одного старого приложения, который отвечал за даты, и увидел там вот такой шедевр:
int day = Convert.ToInt16(DateTime.Now.ToString("dd"));
switch(day)
{
case 1: num = "st"; break;
case 21: num = "st"; break;
case 31: num = "st"; break;
case 2: num = "nd"; break;
case 22: num = "nd"; break;
case 3: num = "rd"; break;
case 33: num = "rd"; break;
default: num = "th"; break;
}
Вопрос: что здесь не так?
👀 — окончания перепутаны местами: "st" для 2, "nd" для 1
😄 — прошлый программист считал что в месяце 33 дня
🤝 — забыли про 0 и отрицательные числа
Ответ в комментах ❤️