JujaLabs / itevents

Resource to subscribe on it events
Apache License 2.0
7 stars 5 forks source link

DateTimeUtil refactor #172

Open romach opened 8 years ago

romach commented 8 years ago

Task

From Slack:

vkuchyn: В ідеалі, уходити від утилітних класів, впринципі. Як можно спроектувати? Завести інтерфейс Clock, з методом now(); В тестовому середовищі заінжектити тестову реалізацію, яка розміщена в папці тестів. А для прода - промислову реалізацію.

Вопрос: так как "заморозка" времени используется только в тестовых классах, должен ли я вынести эту функциональность в отдельный класс и разместить в тестовом пакете?

Бачиш, чим статика фігова - вона негнучка. Я не бачу, як реалізацію перенести в тестовий клас. Так чи інакше - доведеться залишати статичні методи, які міняють поточну дату. В ідеалі, ізолювати весь тестовий код в тестовоій папці. Що пропоную - зараз зробити за допомогою інтерфейсу Clock. Створити задачу - скрізь переїхати на Клок, і видалити статичний утилітний клас DateTime.

Additional referances:

Remark:

Useful links:

IgorMaksymov commented 8 years ago

SLACK links will not live for long! better to make a quote here

romach commented 8 years ago

@AndriyBaibak time tracking: 1 hour spent

romach commented 8 years ago

@AndriyBaibak time tracking: 1 hour spent

romach commented 8 years ago

@AndriyBaibak time tracking: 1 hour spent

romach commented 8 years ago

@AndriyBaibak time tracking: 1 hour spent

vaa25 commented 8 years ago

@romach the task was replace DateTimeUtil class with OOP alternative;, but DateTimeUtil with its static methods still there @AndriyBaibak 15 min

romach commented 8 years ago

@vaa25 did you update branch?

vaa25 commented 8 years ago

@romach sorry, you are right, its my fault