Checkstyle AbstractClassName check: причины пометки классов, заканчивающихся на «Фабрика» - PullRequest
4 голосов
/ 22 марта 2012

Checkstyle " AbstractClassName " использует следующий шаблон по умолчанию для проверки имен классов, которые должны быть объявлены как abstract :

^Abstract.*$|^.*Factory$

Я понимаю, что классы, начинающиеся с 'Abstract', должны быть объявлены как абстрактные. Но почему это также относится к классам, заканчивающимся на «Фабрика»?

Это действительно лучшая практика? И если да, то как мне вместо этого назвать свои фабричные классы?

Ответы [ 2 ]

4 голосов
/ 23 марта 2012

Регулярное выражение по умолчанию пришло из шаблона Abstract Factory - см. http://www.apwebco.com/gofpatterns/creational/AbstractFactory.html.

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

^Abstract.*$

Как всегда, Checkstyle следует использовать как руководство в отношении того, что является лучшей практикой.

2 голосов
/ 03 июня 2015

Небольшое расширение ответа Оливера (его было нелегко добавить в качестве комментария).Чтобы изменить правило Checkstyle, чтобы больше не проверять «Factory», добавьте следующее в XML-файл конфигурации checkstyle:

<module name="AbstractClassName">
  <property name="format" value="^Abstract.*$"/>
</module>

См. здесь для получения дополнительной информации.

...