Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вечная проблема называния идентифиакторов
Форум на CrossPlatform.RU > Разработка > С\С++
Klabush
Ну вот скажите мне, я весь извёлся! :mellow:
В нашем тут местном проекте в куче таблиц встречаются совершенно разные идентификаторы полей. Например UserId, IdUser, User_Id, Id_User и тому подобное.
Я понимаю, писали всё это разные люди, и у каждого своё мировоззрение - куда айдишник ставить, в начало или в конец наименования.
Знак подчёркивания рассматривать не будем - использовать его, имхо, лишнее, хотя и глаз особо не режет, с другой стороны.

Так вот, как бы вы озаглавили поле: IdUser или UserId?
ViGOur
Обычно везде встречается именование вроде: UserId.
Да и звучит вроде правильней. :)
Andrew Selivanov
Я за UserId, у себя обычно называю "user_id" (да я люблю подчеркивания и ниии ну все поняли :) )
Litkevich Yuriy
Я так делаю:
есть таблица с пользователями, первый столбец идентификатор - id
другая таблица в которой один столбец это ссылка на пользователя из первой таблицы, ссылается не на имя или фамилию, а на идентификатор, т.е. на пользователя, на идентификатор - user_id

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

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

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



По существу темы хотелось бы услышать ещё мнений, желательно с обоснованиями того или иного способа.
Litkevich Yuriy
Цитата(Klabush @ 24.6.2008, 18:20) *
Проблема в вашем случае была как раз у программ

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


Не важно. Не боги горшки обжигают.
Гость
Я всегда стараюсь называть без подчеркиваний, их приходится только употреблять, чтобы разделить аббревиутуру.
Например HTTP_SessionId. А в твоем примере UserId конечно, IdUser - полнейший изврат и вообще неправильно, ИМХО.
ЙаМайскЫйПчОЛ
i_id_user )))
i - integer
id - identifier
user - user
целочисленный идентификатор пользователя ))))
мой вариант))
Andrew Selivanov
Добавлю вариант к своему предыдущему высказыванию в этой теме:
Называть так, как там уже названо... т.е. IMHO этот топик подходит только для изначального выбора названий :)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.