Соглашение о произвольном присвоении имен (бизнес-объекты)

StackOverflow https://stackoverflow.com/questions/44485

  •  09-06-2019
  •  | 
  •  

Вопрос

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

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

Почему?

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

Это было полезно?

Решение

Основным недостатком использования ID, Name и т.д. Является то, что вы должны указывать их с именем таблицы, если вы пишете SQL-соединение, которое перекрывает две таблицы.

Несмотря на это, я нахожу гораздо более кратким и читабельным просто использовать ID и Name - ваш код и таблицы будут гораздо легче "проплывать" мимо глаз.Проще набирать текст и меньше избыточности.И введите "ВЫБЕРИТЕ компанию".Название ОТ ...в SQL -запросе на самом деле нет ничего более сложного , чем ввести SELECT BusinessName FROM ...

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

Другие советы

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

Для очень распространенных свойств, таких как "Name" и "ID", соглашение, которое я использовал, заключается в том, чтобы не указывать имя объекта в поле.Для получения более необычных свойств я указываю имя объекта.

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

мы идентифицируем все, что является первичным ключом.Выражение SubCategory.SubCategoryID кажется излишним,

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top