юзерами - user или users?
Вроде как логично дать имя users...
Но тогда, получая в коде одного юзера из таблички я получаю объект класса Users, а это уже как-то вырвиглазно...
Возможно есть бестпрактис или соглашения по этому поводу?
https://www.sqlstyle.guide/ru/
Благодарю!
так как таблица содержит данные разных юзеров , то это именно users
User - зарезервированное слово. Чтобы назвать так таблицу придётся брать название в кавычки. Если при этом использовать именование со схемами, то получится что-то типа public.”user”. А это крайняя форма мазохизма.
users - вполне подошло. )
там есть и неоднозначные штуки, вроде прямой рекомендации не использовать венгерскую систему ну и по сути, в моем мире всегда единственное число избегая резервированных слов то есть, вместо user можно сделать customer, или что подходит лучше по контексту
Найдите орм, который не приравнивает название таблицы к названию класса
Любой JPA-совместимый @Table(name="my_table") class MyEntity
Там можно целую кучу замечаний к этому стайлгайду выдвинуть. Любой codestyle - это кристаллизация опыта и привычек тех, кто его составляет, а значит, примерно наполовину это вкусовщина. Вот примеры замечаний к этому гайду: - запрет префиксов подходит для маленьких схем данных, но когда в проекте 50+ таблиц (и в некоторых из них по 20+ полей), с префиксами становится гораздо проще пользоваться автодополнением: достаточно запомнить небольшой набор префиксов, а не буквы, с которых начинается название всех таблиц проекта. При этом, рекомендуется использовать суффиксы. На мой взгляд, здесь ноги растут от рекомендации в имени файла в начало выносить самую значительную часть. Рекомендация с тех времён, когда экраны были маленькими и часть имени могла не влезть. - использование стандартных функций вместо вендороспецифичных. При переводе сложного проекта на другую СУБД, названия функций будет минорной проблемой. А вот зацикливание на стандарте не всегда на пользу: вы хотите писать sum(case when expr then ... end) вместо sum(...) filter (where expr)? Я - нет. В оракле писать nvl проще чем coalesce (и для оптимизатора это не одно и то же, вроде бы). - таблицу связи многие-ко-многим проще запомнить, когда она состоит из имён двух таблиц, а там рекомендуется придумывать каждый раз новое слово - лично меня БЕСИТ написание зарезервированных слов большими буквами. Кажется, что запрос писался в каком-то генераторе (и человек только что начал учить sql), либо человек набирает код в блокноте. - сдвиг join вправо от коридора из пробелов. Намекает на то, что у нас есть основная таблица, а все остальные - второстепенные, хотя далеко не всегда можно выделить основную таблицу. Плюс, глазами читать такой сдвинутый join тяжело, т.к. имя таблицы и условия сдвинуты вправо. В общем, главное, чтобы правила были едиными для проекта, а ещё лучше - для всех проектов, разрабатываемых одной компанией.
Обсуждают сегодня