DateOnly и TimeOnly в .NET 6 - учитесь давать названия
От: Shmj Ниоткуда  
Дата: 13.07.21 13:43
Оценка: 2 (1) -1
На русском: https://habr.com/ru/company/otus/blog/567338/

Вот целый абзац о том, почему были выбраны именно такие названия:

Почему имена типов кончаются на Only?


Придумывать имена всегда непросто, и этот случай — не исключение. Мы долго обсуждали разные варианты имен, но в итоге приняли имена DateOnly и TimeOnly, так как они соответствуют ряду условий и ограничений:

Они не используют зарезервированные ключевые слова языка .NET. Date было бы идеальным вариантом, но это ключевое слово в языке VB.NET и тип данных, являющийся псевдонимом System.DateTime, поэтому это имя было отвергнуто.

Их легко найти в документации и с помощью IntelliSense, введя их начало — Date или Time. Мы сочли это важным, поскольку множество разработчиков .NET-приложений привыкло к типам DateTime и TimeSpan. В других платформах аналогичная функциональность обозначается префиксами, например Java-классы LocalDate и LocalTime из пакета java.time или же типы PlainDate и PlainTime в готовящемся к выпуску предложении Temporal для JavaScript. Но в этих примерах все типы дат и времени сгруппированы в отдельное пространство имен, в то время как в .NET типы даты и времени находятся в общем пространстве имен System.

Их трудно спутать с существующими возможностями API. В частности, оба типа DateTime и DateTimeOffset имеют свойства с именами Date (возвращает DateTime) и TimeOfDay (возвращает TimeSpan). Мы сочли, что если бы тип назывался TimeOfDay вместо TimeOnly, было бы нелогично, что свойство DateTime.TimeOfDay возвращает тип TimeSpan, а не TimeOfDay. Если бы мы делали все с нуля, мы выбрали бы эти имена в качестве имен свойств и имен типов, которые они возвращают, но такое радикальное изменение сейчас просто невозможно.

Они легко запоминаются и имеют интуитивно понятный смысл. Ведь имена DateOnly и TimeOnly явно говорят о том, что эти типы должны использоваться для указания «только даты» и «только времени». Более того, при их комбинировании образуется тип DateTime, поэтому, давая им такие имена, мы логически связываем их друг с другом.


Круть!
Отредактировано 14.07.2021 5:39 Shmj . Предыдущая версия .
Re: DateOnly и TimeOnly - учитесь давать названия
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 13.07.21 16:40
Оценка:
Здравствуйте, Shmj, Вы писали:

S>На русском: https://habr.com/ru/company/otus/blog/567338/


S>Вот целый абзац о том, почему были выбраны именно такие названия:


S>

S>

Почему имена типов кончаются на Only?


S>Круть!


Нихрена не понял. Надо ж на пустом месте так накрутить. Талантищи
Маньяк Робокряк колесит по городу
Re: DateOnly и TimeOnly - учитесь давать названия
От: Muxa  
Дата: 13.07.21 17:07
Оценка:
Кручу верчу запутать хочу.
Чем отличается TimeOnly от TimeSpan?
Re[2]: DateOnly и TimeOnly - учитесь давать названия
От: karbofos42 Россия  
Дата: 13.07.21 17:22
Оценка:
Здравствуйте, Muxa, Вы писали:

M>Кручу верчу запутать хочу.

M>Чем отличается TimeOnly от TimeSpan?

по ссылке есть ответ на этот вопрос
Re: DateOnly и TimeOnly - учитесь давать названия
От: Kolesiki  
Дата: 14.07.21 02:15
Оценка: -4
Здравствуйте, Shmj, Вы писали:

S>

Почему имена типов кончаются на Only?


Этому баяну в обед 100 лет. Больше ничего в мусорке не завалялось?
Re[2]: DateOnly и TimeOnly - учитесь давать названия
От: Shmj Ниоткуда  
Дата: 14.07.21 05:38
Оценка: +1
Здравствуйте, Kolesiki, Вы писали:

K>Этому баяну в обед 100 лет. Больше ничего в мусорке не завалялось?


Какие 100 лет — .NET 6 еще не вышла.
Re: DateOnly и TimeOnly в .NET 6 - учитесь давать названия
От: Буравчик Россия  
Дата: 14.07.21 07:03
Оценка:
Здравствуйте, Shmj, Вы писали:

S>[q]

S>

Почему имена типов кончаются на Only?


Круто, когда удается придумать емкие и точные имена. Это один из таких случаев, несомненно.

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