Комментарии 24
http://habrahabr.ru/post/146109/
http://habrahabr.ru/post/146901/
http://habrahabr.ru/company/hflabs/blog/260601/
http://habrahabr.ru/post/146901/
http://habrahabr.ru/company/hflabs/blog/260601/
+1
Почитал пост, хотел поучаствовать в дискуссии, но не понял, что символизирует данный набор ссылок =/
+4
Наверно имелось ввиду, что автор данного поста загрязняет ноосферу плодя дубли одного и того же перевода на одном и том же ресурсе в целях рекламы.
0
По ссылкам речь не о переводе самой статьи, а о второй половине поста, которую можно было заменить этими ссылками.
0
you should have a very, very healthy fear of professional testers
вам нужно опасаться профессиональных тестировщиков
0
В списке про имена пункты про кодировку — лишние: имена людей не пишутся в кодировках. Кодировка применяется к ним только когда они попадают в программу. Скорее, тут пора уже делать список «заблуждения программистов о кодировках»…
В списке про даты странным выглядит упоминание системного времени. Да, системное время может вести себя очень странным образом — но программе достаточно лишь не уничтожать все данные при некорректном системном времени. Если программа просто не будет работать — то такая ошибка легко чинится исправлением того самого системного времени. Странно видеть рядом пункты про системное время из первого списка и второго: заблуждения из первого списка куда серьезнее.
В списке про даты странным выглядит упоминание системного времени. Да, системное время может вести себя очень странным образом — но программе достаточно лишь не уничтожать все данные при некорректном системном времени. Если программа просто не будет работать — то такая ошибка легко чинится исправлением того самого системного времени. Странно видеть рядом пункты про системное время из первого списка и второго: заблуждения из первого списка куда серьезнее.
+5
Катастрофическая ошибка: Пользователь пытался использовать программу не по назначению.
Должно быть, как раз, «по назначению». Смысл шутки меняется кардинально.
+4
В «список заблуждений об адресах» можно добавить то, что номера домов бывают дробными — например, в Британии и в Швеции.
+3
По ссылке, которую я дал в каменте выше рекомендуют номер дома всегда записывать строкой. Потому что если открыть карту любого российского города в месте, где последние лет 10 происходила уплотнительная застройка, можно найти кучу вариаций на тему дом 111б корпус 2/3 строение 3.
0
НЛО прилетело и опубликовало эту надпись здесь
Не нашел своего любимого заблуждения: В минуте всегда ровно 60 секунд.
0
Заблуждение номер 32 из второй ссылки.
0
НЛО прилетело и опубликовало эту надпись здесь
Торговые боты, базы данных, сертификаты – это вопросы скорее инфраструктуры. Забавные баги можно словить, если логика приложения опирается на тот факт, что в минуте ровно 60 секунды.
Представте, что в базе данных хранятся результаты выполнения некоторой задачи, которая запускается каждый час, вместе с временем запуска в виде таймстемпа ровно в 0 минут и 0 секунд заданного часа. Вам необходимо вывести эту таблицу на экран с временем запуска в виде «7й день, 8ой час». Чтобы посчитать номер дня и часа, вы не долго думая пишете такой код:
И тут у вас может вылезти сразу две проблемы: неправильно посчитанный день (в одном дне может быть больше или меньше 86400 секунд) и неправильно посчитанный час (в одном часе может быть больше или меньше 3600 секунд). Из-за округления ваша таблица будет построена неправильно. Можно сказать, что это всего лишь проблема отображения, но я думаю можно придумать случаи, в которых на такие же расчеты будет завязан запуск какой-то задачи или принятие определенного решения программой, и такое поведение будет чревато более серьезными последствиями.
Представте, что в базе данных хранятся результаты выполнения некоторой задачи, которая запускается каждый час, вместе с временем запуска в виде таймстемпа ровно в 0 минут и 0 секунд заданного часа. Вам необходимо вывести эту таблицу на экран с временем запуска в виде «7й день, 8ой час». Чтобы посчитать номер дня и часа, вы не долго думая пишете такой код:
day = (timestamp - timestamp0) / 86400
hour = day / 3600
И тут у вас может вылезти сразу две проблемы: неправильно посчитанный день (в одном дне может быть больше или меньше 86400 секунд) и неправильно посчитанный час (в одном часе может быть больше или меньше 3600 секунд). Из-за округления ваша таблица будет построена неправильно. Можно сказать, что это всего лишь проблема отображения, но я думаю можно придумать случаи, в которых на такие же расчеты будет завязан запуск какой-то задачи или принятие определенного решения программой, и такое поведение будет чревато более серьезными последствиями.
+1
Самое главное заблуждение — программа полностью протестирована, работает правильно и в ней не осталось багов.
+1
Писать самому что-то, что должно должным образом обрабатывать время — это вообще космос.
Если стоит выбор между опен-сорс библиотекой, и своим велосипедом — чесслово, не стоит напрасно тратить время.
Если стоит выбор между опен-сорс библиотекой, и своим велосипедом — чесслово, не стоит напрасно тратить время.
0
НЛО прилетело и опубликовало эту надпись здесь
в ссср в названии улицы могли быть не только арабские но и римские цифры: улица 1905-го года и проспект XXII съезда Кпсс или 3-я улица строителей
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Зачем разработчику издеваться над собственным кодом