Здравствуйте, elmal, Вы писали:
E>А что там закапывать. Поиск по всему проекту на этот класс, замена на использование стандартной даты
как показывает практика, велик шанс что после такой замены что-то перестанет работать, ибо в кастомном классе в каком-нить невинном методе его гениальный архитектор заложил какой-нить side effect
In P=NP we trust.
Re[3]: И так тоже можно с датами работать, наверное.
Здравствуйте, BlackEric, Вы писали:
AG>>>29 февраля выстрелит
K>>нет
BE>Была дата 29.02.2012 + 1 год и получили 29.02.2013
Кстати, не факт. Если строка далее парсится чем-нибудь стандартным(SimpleDateFormat, например), то 29.02.2013 станет 01.03.2013(там можно и 43 февраля вставить — оно станет соответствующим марта) — этот класс по-умолчанию лоялен к таким датам.
Но код жесть, да.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Здравствуйте, andrey.t, Вы писали:
AT>Откопал вот в одном проекте. Не знаю, как теперь назад закопать.
А что там закапывать. Поиск по всему проекту на этот класс, замена на использование стандартной даты плюс где нужно форматировать по хитрому — там вызов форматтера. Правится элементарно. Если бы весь говнокод так легко исправлялся, была бы жизнь прекрасна.
Re[2]: И так тоже можно с датами работать, наверное.
Здравствуйте, BlackEric, Вы писали:
BE>Была дата 29.02.2012 + 1 год и получили 29.02.2013
Ну, это мягкий и легко диагностируемый глюк. Еггоги, эксепшены и изумления пользователей вылезут незамедлительно.
А вот замена 29.02.2012 на 28.02.2013 либо 01.03.2013 по неизвестному закону в непредсказуемом месте может дорого обойтись.
Либо ±1 день превратится в ±тырнадцать процентов и тугриков, либо в недолёт-перелёт расписания, и всё такое прочее.
Эти вещи должны быть прописаны в техзадании, но, судя по говнокоду, вряд ли индус об этом не то что задумывался, но даже и подозревал.
Перекуём баги на фичи!
Re[5]: И так тоже можно с датами работать, наверное.
Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, BlackEric, Вы писали:
BE>>Была дата 29.02.2012 + 1 год и получили 29.02.2013
К>Ну, это мягкий и легко диагностируемый глюк. Еггоги, эксепшены и изумления пользователей вылезут незамедлительно.
Можно нафантазировать, что внутреннее представление даты там — строка, и что конструктор не проверяет с учётом того, что 29 февраля не в каждом году.
Таким образом, можно завести будильник на дату, которая никогда не наступит.
Русский военный корабль идёт ко дну!
Re[2]: И так тоже можно с датами работать, наверное.
AG>29 февраля выстрелит
Выстрелить в любой день может: "10.10.10", и год меняем на 11-й. Тот ещё выстрел из бесшумного пистолета будет.
Сообщение заговорено потомственным колдуном, целителем и магом в девятом поколении!
Модерирование или минусование сообщения ведет к половому бессилию, венерическим заболеваниям, венцу безбрачия и диарее!