Не первый раз вижу, что в коде делают заранее определенную дату, видимо проблема 2000-го года ничему людей не научила. Мне кажется, что это наплевательское отношение, когда использую и заранее определённую дату.
Сейчас у нас на работе везде используется 01.01.2050. В принципе, через 30 лет я уже точно буду на пенсии и исправить эту дате не так уж и сложно, если все будут использовать только ее и никто случайно (или намеренно) не станет использовать другую дату в будущем.
В SQL очень часто можно увидеть код типа:
Date < isnull(EndDate, ‘01.01.2050’)
А ведь можно было написать что-то типа:
isnull(EndDate, dateadd(day, 1, getdate())
И все, этот код можно использовать вечно.
На мой вкус использование заранее определённых дат - это пофигизм. Я понимаю, что для нашего продукта 30 лет жизни будет уже очень много и теоретически. . . указывать 2050-й год можно, но все же мне не очень нравится такой код. Ну не красиво это.
Как ты относишься к хардкоднутым датам/значениям?
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
Мы применяем к примеру такой хард код where L.REG_DATE between COALESCE(TO_DATE(P_DATE_BEG, 'dd.mm.yyyy'), TO_DATE('01.01.0001', 'dd.mm.yyyy'))
and COALESCE(TO_DATE(P_DATE_END, 'dd.mm.yyyy'), TO_DATE('31.12.9999', 'dd.mm.yyyy'))
У меня на работе начальник уволился. Его программа работала без него. А 4 января мне звонят, говорят, не работает. Прихожу, а программа пишет "Лицензия кончилась". Хорошо, что у меня были исходники, я убрал эту проверку. Вот такая история с датой 01.01.
Когда мне надо заведомо большую дату, я пишу 01.01.3000. Иногда проще написать такую дату, чем изменять чужой код.
Но даже дату 01.01.3000 стараюсь не использовать, только в очень редких случаях. Это похоже на плохой стиль программирования. Есть способы обойтись без жестких дат.
Тоже использую дату 01.01.2050, и правда в том, что мне реально пофиг. 30 лет для моего продукта это очень много.
Может и очень большой. Но как по мне, так лучше такого не допускать хотя бы чисто из-за вероятности, что в будущем кто-то да решит сделать историю ПО. Если всё не криво, то лишний источник для них может быть.
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.