Аббревиатура или полные имена? - PullRequest
1 голос
/ 16 декабря 2011

Рекомендуется избегать использования сокращений в именах типов и допустимых именах.Также рекомендуется, чтобы ширина исходной строки была 80 или максимум 120 символов, даже если используются современные широкоэкранные мониторы.

Вот строка из нашего реального объекта:

final PimAuthoringApplicationMappingReader pimAuthoringApplicationMappingReader = 
      new PimAuthoringApplicationMappingReader(pimAuthoringApplicationMappingFile);

Aпростая новая операция занимала не менее 2 строк, хотя мы уже использовали здесь сокращение (Pim = ProIntralink Merge).

Хотя каждое слово легко понять таким образом, простой метод значительно удлиняетсяи, следовательно, трудно разместить один метод на экране.

Вопрос: как лучше справиться с этим делом?Рекомендуется ли использовать «разумное» сокращение - например:

 final PimAuthAppMapReader pimAuthAppMapReader=new PimAuthAppMapReader(pimAuthAppMapFile);

?

Ответы [ 4 ]

3 голосов
/ 16 декабря 2011

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

В вашем примере я согласен с сокращением Application to App, но не уверен в сокращении Mapping to Map, потому что у mapдругое первичное значение (первая ассоциация) в Java.

2 голосов
/ 16 декабря 2011

Я бы оставил имя класса многословным и сократил бы ваши имена переменных до чего-то более разумного. Глядя на ваш пример, я думаю, что это разумное усилие:

final PimAuthoringApplicationMappingReader pimMappingReader = 
      new PimAuthoringApplicationMappingReader(pimMappingFile);

Имейте в виду, что человек, читающий ваш код, может легко ссылаться на тип переменной, когда вы

  1. Определите ваши классы для определенной цели
  2. Держите ваши методы краткими
  3. Объявите ваши переменные, где они используются

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

final PimAuthoringApplicationMappingReader pimReader = 
      new PimAuthoringApplicationMappingReader(pimFile);

Я бы не стал сокращать имена классов, потому что вы можете читать их без какого-либо контекста (например, документы API, файлы конфигурации и т. Д.)

Но больше всего стараются кодировать последовательно. Если стиль уже использовался, следуйте ему, если только все не согласятся на его изменение.

2 голосов
/ 16 декабря 2011

Прежде всего, код должен стремиться к ясности .Как правило, это означает , а не сокращение, однако в некоторых случаях общие сокращения улучшают ясность.Часто аббревиатуры не указаны, но попробуйте трактовать аббревиатуру как слово , а не сохранять аббревиатуру «все заглавные».
Вот пример того, о чем я говорю:

HtmlRequest (not HTMLRequest)
App instead of Application
XmlProcessr instead of XMLProcessor
etc

Не беспокойтесь о ширине страницы.Беспокойство по поводу читабельности!

2 голосов
/ 16 декабря 2011

Я всегда находил странной идею именования переменных с тем же именем, что и реализованный класс (или интерфейс).То же самое и для сокращенных имен.

Он не дает информации о реальном назначении объекта в контексте его объявления, и он часто ухудшается, когда у вас есть несколько единиц и звездочка использует числа в качестве суффиксов.1004 * Таким образом, вместо этого используйте имя, которое описывает, каково намерение объекта в контексте, это будет легче при просмотре кода через несколько месяцев.

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