Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ С\С++ _ Вечная проблема называния идентифиакторов

Автор: Klabush 24.6.2008, 12:50

Ну вот скажите мне, я весь извёлся! :mellow:
В нашем тут местном проекте в куче таблиц встречаются совершенно разные идентификаторы полей. Например UserId, IdUser, User_Id, Id_User и тому подобное.
Я понимаю, писали всё это разные люди, и у каждого своё мировоззрение - куда айдишник ставить, в начало или в конец наименования.
Знак подчёркивания рассматривать не будем - использовать его, имхо, лишнее, хотя и глаз особо не режет, с другой стороны.

Так вот, как бы вы озаглавили поле: IdUser или UserId?

Автор: ViGOur 24.6.2008, 12:53

Обычно везде встречается именование вроде: UserId.
Да и звучит вроде правильней. :)

Автор: Andrew Selivanov 24.6.2008, 12:55

Я за UserId, у себя обычно называю "user_id" (да я люблю подчеркивания и ниии ну все поняли :) )

Автор: Litkevich Yuriy 24.6.2008, 13:16

Я так делаю:
есть таблица с пользователями, первый столбец идентификатор - id
другая таблица в которой один столбец это ссылка на пользователя из первой таблицы, ссылается не на имя или фамилию, а на идентификатор, т.е. на пользователя, на идентификатор - user_id

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

итого у меня бы это было: f_user_id

Автор: Klabush 24.6.2008, 14:20

Отлично, ребята!
Я, в общем, тоже использую формат UserId. А если таблица сама вся о юзерах, то идентификатор просто Id, без усложнения.
Но в нашей базе можно встретить все возможные варианты, увы.

Кстати, Litkevich Yuriy, то что интербейз вдруг "съел" слово type - это не их вина. Они как бы вправе. Они и ваше f_user_id могут вдруг ключевым словом однажды сделать (хотя пример надуман, разумеется). Проблема в вашем случае была как раз у программ, использующих запросы. Стоит всего лишь экранировать имена и идентификаторы в запросах, как проблема исчезнет. То есть брать имена в квадратные скобки или в одинарные кавычки (смотря на чём пишем). User, кстати, тоже вполне ключевое слово, но никто не мешает использовать в запросах [user] и тому подобное.



По существу темы хотелось бы услышать ещё мнений, желательно с обоснованиями того или иного способа.

Автор: Litkevich Yuriy 24.6.2008, 14:24

Цитата(Klabush @ 24.6.2008, 18:20) *
Проблема в вашем случае была как раз у программ

Эта программа называется IBConsole и в ходит в состав интербэйза. ;)

Автор: Klabush 24.6.2008, 14:49

Цитата(Litkevich Yuriy @ 24.6.2008, 15:24) *
Эта программа называется IBConsole и в ходит в состав интербэйза.


Не важно. Не боги горшки обжигают.

Автор: Гость 25.6.2008, 18:57

Я всегда стараюсь называть без подчеркиваний, их приходится только употреблять, чтобы разделить аббревиутуру.
Например HTTP_SessionId. А в твоем примере UserId конечно, IdUser - полнейший изврат и вообще неправильно, ИМХО.

Автор: ЙаМайскЫйПчОЛ 11.7.2008, 8:46

i_id_user )))
i - integer
id - identifier
user - user
целочисленный идентификатор пользователя ))))
мой вариант))

Автор: Andrew Selivanov 11.7.2008, 9:23

Добавлю вариант к своему предыдущему высказыванию в этой теме:
Называть так, как там уже названо... т.е. IMHO этот топик подходит только для изначального выбора названий :)

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)