|
|
|
Имя первичного ключа: StatusID vs ID
|
|||
|---|---|---|---|
|
#18+
Как вы предпочитаете именовать поле первичного ключа (integer): StatusID или ID (ProjectID или ID, ClientID или ID...) Я предпочитаю ID, т.к. достигается единообразие, упрощается написание клиентского кода, не дублируется имя таблицы (мы же не включаем имя таблицы в каждое поле)... Подобно ID в моей системе обозначений существуют поля Title и Descr. Правда, ID может быть зарезервированным словом, это недостаток данной нотации. Ваша точка зрения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 12:50 |
|
||
|
Имя первичного ключа: StatusID vs ID
|
|||
|---|---|---|---|
|
#18+
ProjectID. Это значит для меня, что поле является идентификатором проекта. Кроме того, я хочу сохранять единообразное имя поля при его использовании в качестве первичного ключа и в качестве вторичного из других таблиц. Иначе Subprojects ID Project_ID (FK to Projects.ID) Projects ID ну очень некрасиво ... Помимо прочего, получается, что второстепенное поле имеет полное имя, а главное - ничего не значащее ID. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 13:08 |
|
||
|
Имя первичного ключа: StatusID vs ID
|
|||
|---|---|---|---|
|
#18+
КапюшонКак вы предпочитаете именовать поле первичного ключа (integer): StatusID или ID (ProjectID или ID, ClientID или ID...) Я предпочитаю ID, т.к. достигается единообразие, упрощается написание клиентского кода, не дублируется имя таблицы (мы же не включаем имя таблицы в каждое поле)... Подобно ID в моей системе обозначений существуют поля Title и Descr. Правда, ID может быть зарезервированным словом, это недостаток данной нотации. Ваша точка зрения? Я предпочитаю просто id. Дублирование имени сущности внутри нее - излишне. А вот глобальные имена стараюсь делать достаточно длинными. Помню, как наелся из-за этого с какой-то древней версией ErWin, который упорно отказывался понимать, что поле в дочерней и родительской таблицах может по-разному называться. К счастью в современных версиях с этим вроде бы порядок. Вообще, это не играет существенной роли. Главное, чтобы во всем проекте наблюдалось единообразие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 14:11 |
|
||
|
Имя первичного ключа: StatusID vs ID
|
|||
|---|---|---|---|
|
#18+
StatusID ? ProjectID ? ID ? Name ? Если ID, является первичным ключём, то настоятельно советую впереди ID добавить имя своей таблицы, а для колнок, не являющихся первичным ключем, например Name типа VARCHAR() в приципе, можно давать, унифицированные, одинаковые названия, однако это спорное утверждение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 15:58 |
|
||
|
Имя первичного ключа: StatusID vs ID
|
|||
|---|---|---|---|
|
#18+
sparrowЕсли ID, является первичным ключём, то настоятельно советую впереди ID добавить имя своей таблицы, А чем эта настоятельность аргументируется? Собственной привычкой или какими-то рациональными соображениями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 16:08 |
|
||
|
Имя первичного ключа: StatusID vs ID
|
|||
|---|---|---|---|
|
#18+
PS. имя сущносет 'Status', слишком общее, так и хочется впереди конкретизировать - чей статус. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 16:10 |
|
||
|
Имя первичного ключа: StatusID vs ID
|
|||
|---|---|---|---|
|
#18+
Bogdanov Andrey > Наверно сказалась привычка 'древней версией ErWin', рациональное соображение в том, что из SQL комманды, почти сразу можно понять что и с чем связано, когда разбираешься со слабо документированным приложением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 16:20 |
|
||
|
Имя первичного ключа: StatusID vs ID
|
|||
|---|---|---|---|
|
#18+
sparrowBogdanov Andrey > Наверно сказалась привычка 'древней версией ErWin', рациональное соображение в том, что из SQL комманды, почти сразу можно понять что и с чем связано, когда разбираешься со слабо документированным приложением. На мой взгляд существенным минусом является значительное удлиненние идентификаторов (ведь если обязательно требовать вместо Id писать ParentDocStatusId, то тогда и вместо Name надо писать ParentDocStatusName и т.п.). Это сильно сказывается на читабельности кода в отрицательную сторону. Короткие имена (но не аббревиатуры) значительно повышают скорость чтения кода. Ну а в местах, где восприятие имени может быть неоднозначным (например, в запросе объединяющем несколько таблиц) всегда можно использовать полное имя (ParentDocStatus.Id). Кстати, в других языках программирования почти никогда не расширяют локальные имена именем объемлющей сущности. В любом классе по работе с файлами надутся функции open и close, но почти никто не называет их fileopen и fileclose. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 16:35 |
|
||
|
Имя первичного ключа: StatusID vs ID
|
|||
|---|---|---|---|
|
#18+
Bogdanov Andrey > понятно, 'ParentDocStatusId' -в принципе ничего страшного, можно и длиньше Наверно это Forenkey на DocStatusId таблицы DocStatus - тогда его, наверно, можно назвать ParentId. Древовидные связи типа ...Id - Parent...Id - стараюсь использавать как можно реже, только когда сущьность очевидно деревидная и глубина вложенности будет больше 5. А это согластесь редкие случаи. Кстати, SQL особый, совершенно не объектный язык, потому в нем плохо приживаются объектные и процедурные по бльшому счету подходы (методы работы). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 17:45 |
|
||
|
Имя первичного ключа: StatusID vs ID
|
|||
|---|---|---|---|
|
#18+
КапюшонВаша точка зрения? Не затруднит ли Вас прежде уточнить, какие именно вопросы остались после знакомства например с моей точкой зрения в предыдущих обсуждениях той же темы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 19:25 |
|
||
|
Имя первичного ключа: StatusID vs ID
|
|||
|---|---|---|---|
|
#18+
Bogdanov AndreyВ любом классе по работе с файлами надутся функции open и close, но почти никто не называет их fileopen и fileclose. Потому что почти никогда не требуется писать код наподобие Код: plaintext Если бы такой код был типичным - мгновенно восторжествовал бы стиль Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 19:32 |
|
||
|
Имя первичного ключа: StatusID vs ID
|
|||
|---|---|---|---|
|
#18+
Если уж совсем невмоготу хочется дублировать название таблицы в каждом поле, то хотя бы сзади имени поля. Потому что если спереди, то 1) с клавиатуры искать по первым буквам невозможно, 2) в выпадающих списках обычной ширины получается нужно выбирать из 20 одинаковых имён таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 19:39 |
|
||
|
Имя первичного ключа: StatusID vs ID
|
|||
|---|---|---|---|
|
#18+
softwarer Не затруднит ли Вас прежде уточнить, какие именно вопросы остались после знакомства например с моей точкой зрения в предыдущих обсуждениях той же темы? Я, к сожалению, не нашел ни вашу точку зрения, ни предыдущее обсуждение как таковое... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2007, 08:50 |
|
||
|
Имя первичного ключа: StatusID vs ID
|
|||
|---|---|---|---|
|
#18+
sparrowBogdanov Andrey > понятно, 'ParentDocStatusId' -в принципе ничего страшного, можно и длиньше Длиньше можно, но время затрачиваемое на понимание кода в таком случае прямо пропорционально (а скорее всего даже пропорционально квадрату) длины идентификаторов. Ведь вместо того, чтобы увидеть просто Name я вынужден буду "прочитать" весь идентификатор до конца, чтобы выделить в нем смысловую часть. Это становится совсем приятным занятием, если индентификаторы приведены к одному регистру (лично меня особенно верхний регистр утруждает). sparrowНаверно это Forenkey на DocStatusId таблицы DocStatus - тогда его, наверно, можно назвать ParentId. Древовидные связи типа ...Id - Parent...Id - Я не говорил ни о каких древовидных связях. У меня есть табличка ParentDocStatus (вы же сами сказали, что название сущности просто Status - вас не устраивает, вот я и дополнил его - имеем "статусы документов верхнего уровня"). В этот табличке есть идентификатор и наименование. По вашей рекомендации к названиям колонок добавляем имя таблицы вот и имеем ParentDocStatusId, ParentDocStatusName и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2007, 09:11 |
|
||
|
Имя первичного ключа: StatusID vs ID
|
|||
|---|---|---|---|
|
#18+
softwarer Bogdanov AndreyВ любом классе по работе с файлами надутся функции open и close, но почти никто не называет их fileopen и fileclose. Потому что почти никогда не требуется писать код наподобие Код: plaintext Если бы такой код был типичным - мгновенно восторжествовал бы стиль Код: plaintext Честно скажу, что для меня вторая строчка ничуть не понятнее первой. Попробую разобраться. Очевидно мы имеем некоторую сущность "Object". У этой сущности есть метод Open и вот тут расширение имени метода до OpenObject совершенно бессмысленно. А вот дальше - непонятно. Видимо наш метод Open возвращает какой-то еще объект. В этом случае название Open скорее всего не адекватно. Или у нас метод занимается не открытием объекта, а открытием какой-то другой сущности ассоциированной с объектом. В этом случае и название должно было бы быть что-то типа OpenStream. И т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2007, 09:27 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=116&tid=1544377]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
82ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 254ms |
| total: | 444ms |

| 0 / 0 |
