172 похожих чатов

Вопрос по неймингу... Есть сущность user. Как правильно назвать табличку с

юзерами - user или users?

Вроде как логично дать имя users...
Но тогда, получая в коде одного юзера из таблички я получаю объект класса Users, а это уже как-то вырвиглазно...

Возможно есть бестпрактис или соглашения по этому поводу?

11 ответов

18 просмотров

https://www.sqlstyle.guide/ru/

Vitaliy-S Автор вопроса

так как таблица содержит данные разных юзеров , то это именно users

User - зарезервированное слово. Чтобы назвать так таблицу придётся брать название в кавычки. Если при этом использовать именование со схемами, то получится что-то типа public.”user”. А это крайняя форма мазохизма.

Vitaliy S
Благодарю!

там есть и неоднозначные штуки, вроде прямой рекомендации не использовать венгерскую систему ну и по сути, в моем мире всегда единственное число избегая резервированных слов то есть, вместо user можно сделать customer, или что подходит лучше по контексту

Найдите орм, который не приравнивает название таблицы к названию класса

Andrey Lizenko
там есть и неоднозначные штуки, вроде прямой реком...

Там можно целую кучу замечаний к этому стайлгайду выдвинуть. Любой codestyle - это кристаллизация опыта и привычек тех, кто его составляет, а значит, примерно наполовину это вкусовщина. Вот примеры замечаний к этому гайду: - запрет префиксов подходит для маленьких схем данных, но когда в проекте 50+ таблиц (и в некоторых из них по 20+ полей), с префиксами становится гораздо проще пользоваться автодополнением: достаточно запомнить небольшой набор префиксов, а не буквы, с которых начинается название всех таблиц проекта. При этом, рекомендуется использовать суффиксы. На мой взгляд, здесь ноги растут от рекомендации в имени файла в начало выносить самую значительную часть. Рекомендация с тех времён, когда экраны были маленькими и часть имени могла не влезть. - использование стандартных функций вместо вендороспецифичных. При переводе сложного проекта на другую СУБД, названия функций будет минорной проблемой. А вот зацикливание на стандарте не всегда на пользу: вы хотите писать sum(case when expr then ... end) вместо sum(...) filter (where expr)? Я - нет. В оракле писать nvl проще чем coalesce (и для оптимизатора это не одно и то же, вроде бы). - таблицу связи многие-ко-многим проще запомнить, когда она состоит из имён двух таблиц, а там рекомендуется придумывать каждый раз новое слово - лично меня БЕСИТ написание зарезервированных слов большими буквами. Кажется, что запрос писался в каком-то генераторе (и человек только что начал учить sql), либо человек набирает код в блокноте. - сдвиг join вправо от коридора из пробелов. Намекает на то, что у нас есть основная таблица, а все остальные - второстепенные, хотя далеко не всегда можно выделить основную таблицу. Плюс, глазами читать такой сдвинутый join тяжело, т.к. имя таблицы и условия сдвинуты вправо. В общем, главное, чтобы правила были едиными для проекта, а ещё лучше - для всех проектов, разрабатываемых одной компанией.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта