, :) Мне показалось раздражающим приход на программирование на C #, потому что все используют первую, явно, но повторяющуюся версию.
ваше предпочтение?
Допустим, у нас есть общая таблица Product, в которой есть идентификатор, имя и ссылка на внешний ключ для категории. Вы бы предпочли назвать свой стол как:
CREATE TABLE Products
(
ProductID int NOT NULL IDENTITY(1,1) PRIMARY KEY,
CategoryID int NOT NULL FOREIGN KEY REFERENCES Categories(CategoryID),
ProductName varchar(200) NOT NULL
)
использование явного именования столбцов (например,ПродуктИмя,ПродуктID), или что-то вроде:
CREATE TABLE Products
(
ID int NOT NULL IDENTITY(1,1) PRIMARY KEY,
CategoryID int NOT NULL FOREIGN KEY REFERENCES Categories(ID),
Name varchar(200) NOT NULL
)
Из того, что я видел, соглашение в мире .NET должно быть явным - примеры, как правило, используют первый пример, в то время как мир с открытым исходным кодом и RoR предпочитают второй. Лично мне первое легче читать и понимать с первого взгляда:select p.ProductID, p.ProductName, c.CategoryName from Categories c inner join Products p on c.CategoryID = p.CategoryID
кажется более естественным для меня, чемselect p.ID AS ProductID, p.Name AS ProductName, c.Name AS CategoryName from Categories c inner join Products p on c.ID = p.CategoryID
Я предполагаю, что, учитывая приведенный мною элементарный пример, это не имеет большого значения, но как насчет того, когда вы имеете дело с большим количеством данных и таблиц? Я все еще нашел бы первый пример лучше, чем второй, хотя, возможно, стоит рассмотреть некоторую комбинацию двух (<Table>ID
для удостоверения личности, но простоName
для имени?). Очевидно, что в существующем проекте вы должны следовать уже установленным соглашениям, но как насчет новой разработки?
Какие у тебя предпочтения?