Major.minor.point.build обычно. Главный и незначительный очевидны, точка является выпуском для нескольких незначительных bugfixes, и сборка является просто идентификатором сборки.
Последовательность гораздо важнее, чем конкретная схема, которую вы используете.
Нечувствительность к регистру в SQL поддерживает Underscores_Scheme
. Однако современное программное обеспечение поддерживает любую схему именования. Однако иногда некоторые неприятные ошибки, ошибки или человеческий фактор могут привести к UPPERCASINGEVERYTHING
, так что те, кто выбрал обе схемы Pascal_Case
и Underscore_Case
, живут всеми своими нервами в хорошем состоянии. место.
Я использую символы подчеркивания. Несколько лет назад я работал над проектом Oracle, и мне показалось, что Oracle перевел все имена моих объектов в верхний регистр, что нарушает любую схему корпуса. На самом деле я не специалист по Oracle, так что, возможно, был способ обойти это, о котором я не знал, но он заставил меня использовать подчеркивания, и я никогда не возвращался.
Я склонен согласиться с людьми, которые скажем, это зависит от используемых вами соглашений языка (например, PascalCase для C # и snake_case для Ruby).
Однако никогда не было camelCase.
Совокупность большей части вышеперечисленного:
. Тогда вы можете легко (даже автоматически) переводить имена между средами.
Но я бы добавил еще одно соображение: вы можете обнаружить, что существуют другие факторы, когда вы переходите от класса в своем приложении к таблице в своей базе данных: объект базы данных имеет представления, триггеры, сохраненные процессы, индексы, ограничения, и т. д. - которым тоже нужны имена. Так, например, вы можете обнаружить, что обращаетесь к таблицам только через представления, которые обычно представляют собой простой "select * from foo". Они могут быть идентифицированы как имя таблицы с суффиксом «_v» или вы можете поместить их в другую схему. Цель такого простого уровня абстракции состоит в том, что он может быть расширен, когда это необходимо, чтобы позволить изменения в одной среде, чтобы избежать влияния на другую. Это не нарушит приведенные выше предложения по именованию - нужно учитывать еще несколько вещей.
К сожалению, на этот вопрос нет "лучшего" ответа. Как заявил @David, согласованность намного важнее, чем соглашение об именах.
Существует множество способов разделения слов, поэтому вам придется выбирать то, что вам больше нравится; но в то же время, похоже, почти все согласны с тем, что имя таблицы должно быть в единственном числе.
Я обычно использую PascalCase, и сущности являются единственными:
DoctorMain
DoctorProfile
DoctorPatient
Он имитирует соглашения об именах для классов в моем приложении, сохраняя все довольно аккуратно, чисто, согласованным и простым понять для всех.