2013-03-08 3 views
2

Например, если у меня есть класс User и класс Order, который является лучшим способом назвать их идентификаторы?Объекты Id. Назовите его «id» или назовите его «classnameId»?

userId vs id 
orderId vs id 

и то же самое касается каждого объекта с идентификатором.

Один из моих классов называется DeliveryRequest, так что я должен назвать это deliveryRequestId и, как вы можете видеть, что это становится немного долго и методы getDeliveryRequestId() и setDeliveryRequestId() сделать его еще больше, и это было бы очень просто и легче читать, если У меня только getId() и setId().

Я просто думаю, что если у вас много классов, все с их основным ключом, просто называемым «id», это плохо? Можете ли вы столкнуться с любыми проблемами или путаницей при кодировании и работе с базой данных, сократив основной идентификатор?

Есть ли правильный или неправильный ответ или это вопрос личного предпочтения?

Спасибо.

+0

Лучший способ в этом смысле? Почему эти классы имеют идентификатор в любом случае? – hakre

+0

Для удобства чтения и того, что наиболее часто используется при создании классов. Ему нужен идентификатор, поэтому я могу обновить статус запроса на доставку и несколько других подобных операций. – ibanore

+0

Являются ли эти объекты всегда исходящими из базы данных? И первичный ключ всегда называется 'id' в таблицах базы данных? – hakre

ответ

2

Думай о том, когда вы будете использовать класс.

Рассмотрим следующий пример:

$deliveryRequest->getDeliveryRequestId(); 

VS.

$deliveryRequest->getId(); 

Я рекомендую не дублировать имя класса.

+1

Верхняя часть выглядит излишне длинной. Я думаю, что с этого момента я просто буду придерживаться удостоверения личности. Это выглядит намного проще на глазах, и, как @ hek2mgl сказал, что меньше писать, что хорошо. – ibanore

0

Это хороший вопрос (я думаю), потому что это плохая практика именования, которая часто видна. Я бы назвал то, во всяком случае, «ид» вместо «» somethingId

Вы можете просто сравнить код:

$user = new User(); 

// looks .. hmmm 
$id = $user->getUserId(); 

// looks much better :) 
$id = $user->getId(); 
+0

и это просто для удобства чтения? – ibanore

+2

@ Давид Да для удобочитаемости и для написания меньше :) (программисты ленивы). Также я не стал бы спрашивать вас: «Как ваше имя?» ... Я бы просто спросил: «Как тебя зовут?» – hek2mgl

Смежные вопросы