Выбор информативных имен классов - PullRequest
2 голосов
/ 12 августа 2011

Мне трудно найти информативные и полезные имена классов. Один класс, с которым я сталкиваюсь, делает запросы к веб-сайтам / серверам. Я думал, что было бы уместно назвать этот класс ServerRequest, который входит в комплект ServerServices. Этот пакет также содержит классы ServerData и ServerImage. ServerData анализирует ответ от ServerRequest и создает объекты. ServerImage скопирует удаленные изображения на локальный компьютер, используя ServerRequest.

Я не считаю хорошей практикой ставить префикс перед каждым именем класса. В то же время я не хочу просто называть классы Request, Data и Image. Без префикса имена теряют свое значение, не говоря уже о том, как часто они становятся.

Какие правила следует использовать, кроме CamelCase и существительных?

Какие примеры имен классов можно использовать для трех перечисленных выше классов?

Ответы [ 3 ]

2 голосов
/ 13 августа 2011

Ну, если у вас есть ServerData, MailData, UserData, тогда префикс, безусловно, хорошая идея, чтобы узнать, о каком Data мы говорим. Но если путаница с именами классов не является проблемой (также зависит от масштаба проекта ...), вы можете перегруппировать все ваши классы в пакет something.here.server и сохранить простые имена классов, такие как Request, Data и Image.

Это все для достижения максимальной читабельности и ясности кода.

1 голос
/ 13 августа 2011

Похоже, у вас есть ServerClient, который возвращает ServerResponse, который, в свою очередь, анализируется ServerResponseParser в ServerData. Я не совсем ясен в части «имиджа». Это будет ImageRequester, который использует ServerClient, чтобы получить ServerImage с?

0 голосов
/ 13 августа 2011

По моему мнению, имя класса должно выражать, какие данные сохранены / проанализированы / запрошены, Packagename группирует подмножество функций вашего приложения.

Так, например, у нас есть UserImage в пакете user.data.roster, поэтому все, что связано с отображением списка пользователей, отправляется туда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...