Соглашение о произвольном присвоении имен (Business Objects) - PullRequest
2 голосов
/ 04 сентября 2008

Хорошо, вы делаете Business.Name или Business.BusinessName SubCategory.ID или SubCategory.SubCategoryID

Как насчет вашей базы данных?

Почему?

Я порваюсь с обоими. Хотелось бы, чтобы был "правильный ответ"

Ответы [ 5 ]

5 голосов
/ 04 сентября 2008

Единственный «правильный» ответ - быть последовательным. Решите заранее, какой из них вы будете использовать в проекте, и придерживайтесь его.

2 голосов
/ 04 сентября 2008

Основной недостаток использования идентификатора, имени и т. Д. Заключается в том, что вы должны указывать их в качестве имени таблицы, если вы пишете соединение SQL, которое перекрывает две таблицы.

Несмотря на это, я считаю, что гораздо проще и понятнее просто использовать ID и Имя - ваш код и таблицы будут намного легче «перетекать» за глаза. Проще набрать и меньше излишним. И ввод SELECT Business.Name FROM ... в запросе SQL на самом деле не более хлопотно, чем ввод SELECT BusinessName FROM ...

В общем, если я обнаруживаю, что повторяю семантическую информацию, это заставляет меня искать способы ее устранения или, по крайней мере, распознавать, почему она повторяется. Это может быть как в небольшом масштабе (имена атрибутов), так и в большом масштабе (шаблоны поведения или общие структуры классов).

0 голосов
/ 09 сентября 2008

Возможно, я не прав, но я думаю, что это вкусное блюдо.

thing.id
потому что, если вы собираетесь писать какие-либо рефлексивные материалы, которые имеют дело с вашими объектами и нуждаются в первичном ключе, его проще узнать везде, а затем попытаться определить его по формуле.

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

0 голосов
/ 04 сентября 2008

мы делаем ID для всего, что является первичным ключом. Сказать SubCategory.SubCategoryID кажется избыточным,

0 голосов
/ 04 сентября 2008

Для очень распространенных свойств, таких как «Имя» и «Идентификатор», я использовал соглашение не помещать имя объекта в поле. Для более необычных свойств я ставлю имя сущности.

Это решение по соглашению об именах, но я не сожалел о проектах, в которых это соглашение. Если вы поставите имя объекта для каждого идентификатора, оно окажется слишком многословным.

...