Там какие-либо недостатки к использованию Joda-разового?

Примечание: Неопределенная переменная

Случается, когда вы пытаетесь использовать переменную, которая ранее не была определена.

Типичным примером может быть

foreach ($items as $item) {
    // do something with item
    $counter++;
}

Если вы ранее не определяли $counter, код, указанный выше, вызывает уведомление.

Правильный способ - установить переменную перед ее использованием, даже если это просто пустая строка, например

$counter = 0;
foreach ($items as $item) {
    // do something with item
    $counter++;
}

Вопросы, относящиеся:

57
задан cdeszaq 8 January 2014 в 17:10
поделиться

5 ответов

У меня был почти совершенно положительный опыт со Временем Joda. Моя одна проблема была при попытке создать мой собственный часовой пояс (по законным причинам, я уверяю Вас :) Я получил некоторые очень странные исключения, и документация не была очень хороша для того конкретного варианта использования.

Однако по большей части это была радость для использования - неизменность делает код намного легче рассуждать о, и потокобезопасность для средств форматирования чрезвычайно полезна.

Да, существуют файлы, чтобы быть в курсе - но по крайней мере Вы можете совершенствовать их. Это не похоже, они содержат вещи, которые были ненужными со встроенным материалом Java, это просто, что с механизмом Java Вы просто не могли сохранить информацию как часовые пояса актуальной без значительного хакерства!

В основном, +1 для использования Времени Joda. Дата/время Java API является одним из худших битов платформы Java, IMO.

57
ответ дан Jon Skeet 24 November 2019 в 19:32
поделиться

Самая большая проблема, которую мы имели при использовании Времени Joda, была с интеграцией с Spring и Гобеленом, поскольку они оба хотели использовать встроенную Дату и время. Мы постоянно писали обертки в методах считывания/методах set для даты и времени: любой мы сохранили бы его как Время Joda и один набор методов считывания/методов set, передал его через, и другой преобразует на лету, и некоторые классы сохранили его внутренне как Дату/Время Java, и метод считывания/метод set Joda должен был переключить его на лету.

В основном, это была головная боль, потому что классы так же называют, и если Вы не можете получить свою всю архитектуру (включая другие библиотеки, Вы интегрируетесь) переключаться на Время Joda, Вы собираетесь написать больше кода обертки, чем Вы, вероятно, сохраните при помощи библиотек Joda.

11
ответ дан Matt Poush 24 November 2019 в 19:32
поделиться

Хосты переговоров представление Stephen Colebourne о JSR-310, г-ном Colebourne автор Joda-разовых и JSR-310. Он начинает путем объяснения слабых мест стандартной поддержки даты/времени в Java и почему Вы хотели бы использовать альтернативу. Может быть полезно показать это представление Вашему менеджеру архитектуры. Я не могу казаться внешней ссылке

причина Joda-разовые обновления, которые справедливо часто - ее файл часового пояса то, потому что данные часового пояса изменяются все время, часто незамедлительно (сегодня на slashdot: прыгают вторые, прибавил 31.12.2008 ), и не всегда с научной точки зрения мотивированный (например, Я вспоминаю, что некоторое тихоокеанское островное государство изменило свой часовой пояс, чтобы быть первой страной, которая введет 2000 год).

5
ответ дан JodaStephen 24 November 2019 в 19:32
поделиться

В прошлом я встретился с компаниями, которые не хотели включать стороннее программное обеспечение с открытым исходным кодом или по крайней мере потребовали, чтобы адвокат компании сертифицировал, что лицензия не собиралась выставлять их любому виду ответственности или иметь вирусный эффект на их продукт.

Как с любыми сторонними библиотеками, необходимо, вероятно, поместить его в управление исходным кодом, таким образом, можно найти версию, которую Вы поставили с конкретными выпусками Вашего кода в случае, если что-то идет не так, как надо.

2
ответ дан Paul Tomblin 24 November 2019 в 19:32
поделиться

На мой взгляд, наиболее важным недостатком Joda-Time является точность: многие базы данных хранят временные метки с микросекундами (или даже наносекундная ) точность. Joda-time составляет только миллисекунды . Для меня это неприемлемо: все классы «модели данных», которые я использую, должны отражать полную точность данных в моей базе данных. Приближение или усечение моих данных библиотекой просто не помогает.

Вот доводы в пользу выбора точности в миллисекундах, взятые из списка рассылки JSR 310 :

«Joda-Time выбрала использование миллисекунд, поскольку это упростило преобразование даты и календаря». - С. Колебурн

Кому проще? Автор библиотеки, можно было бы предположить ... Неправильное дизайнерское решение, на мой взгляд, когда почти все базы данных хранят времена с точностью до микросекунд / наносекунд. Пренебрежение значениями базы данных вызывает беспокойство.

когда почти все базы данных хранят время с точностью до микросекунд / наносекунд. Пренебрежение значениями базы данных вызывает беспокойство.

когда почти все базы данных хранят время с точностью до микросекунд / наносекунд. Пренебрежение значениями базы данных вызывает беспокойство.

35
ответ дан 24 November 2019 в 19:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: