Что я должен назвать свойство DateTime? - PullRequest
9 голосов
/ 06 октября 2010

Если у меня есть класс, в котором хранится DateTime:

class LogEntry
{
    readonly DateTime dateTime;

    public LogEntry(DateTime dateTime)
    {
        this.dateTime = dateTime;
    }

    public DateTime ?????
    {
        get
        {
            return dateTime;
        }
    }
}

Как мне назвать свойство DateTime?Или я должен разделить свойство на 2 свойства: 1) Дата 2) Время?

edit: я искал имя свойства, которое дает вывод, что его значение является одновременно датой и временем, а не специфичным для свойстварегистрировать записи (например, DateCreated не предоставляет никаких выводов о том, что он также делит время создания записи и наоборот).

Ответы [ 12 ]

9 голосов
/ 06 октября 2010

TimeStamp может быть?

8 голосов
/ 06 октября 2010

When - хорошее имя в журнале.

Редактировать: и из официальных указаний по именованию: " Do считают, что имя свойства совпадает с его типом." Это приводит к

 public DateTime DateTime { get { ... } }
6 голосов
/ 06 октября 2010
LogDate
CreatedDate
EntryDate
StarDate // **

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

4 голосов
/ 06 октября 2010

Предполагая, что LogEntry используется для ведения журнала, вот как это делают некоторые другие платформы ведения журнала:

log4net называет это TimeStamp в LoggingEventData struct.

NLog называет его TimStamp в LogEventInfo классе.

Корпоративная библиотека называет это timeStamp в LogEntry классе.

Microsoft называет его DateTime в классе TraceEventCache (TraceEventCache передается в вызовы TraceListener Trace *. DateTime - время, когда было создано сообщение регистрации).

2 голосов
/ 06 октября 2010

А как же TimeStamp?

2 голосов
/ 06 октября 2010

В отличие от большинства предложений здесь, я бы использовал DateCreated, потому что интуитивно понятно начинать вводить «дату» при поиске даты создания. Я также не думаю, что есть проблема, только «дата» появляется в имени, а не «время». Это часто и приемлемо.

2 голосов
/ 06 октября 2010

Все, что просто, не конфликтует с другими именами, такими как DateTime, и носит описательный характер.Поскольку это запись в журнале, вы можете назвать ее EntryTime.

1 голос
/ 06 октября 2010

Вы должны выбрать соглашение для меток времени в своей базе кода, а затем придерживаться этого.Например, я называю все свои метки времени «updated_at» или «made_at».Другими параметрами могут быть CreatedDate и UpdateDate.

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

0 голосов
/ 06 октября 2010

В комментарии к вопросу говорится, что вопрос не должен быть специфичным для класса.

Правильный ответ, хотя и относится к конкретному классу, он не связан с тем фактом, что свойство является DateTime (мы уже знаем, что это дата и время, потому что, ну, в общем, это данные и время). Это свойство будет существовать по определенной причине, и именно эту причину мы должны учитывать при именовании.

Тем не менее, пока делается запрос на имя свойства, не относящегося к классу, я предлагаю:

public DateTime TheMomentOfTruth

:)

0 голосов
/ 06 октября 2010

Дата - это только грубая мера времени, которая объединяет 24 часа в одну единицу. С точки зрения кур и яиц, Время предшествует дате: время - это физическая сущность, дата - это просто единица измерения. Тип данных DateTime помогает запутать проблему и заставляет многих думать о времени как о доле даты. Это совершенно неправильно! Эйнштейн не говорил о Космической дате, не так ли?

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

Таким образом, LogTime или EntryTime будут лучшими именами.

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

И это не райский сад.

...