Есть ли хороший ресурс, который описывает "почему" позади наборов правил PMD? сайт PMD имеет "что" - что делает каждое правило, но не описывает, почему PMD имеет это правило и почему игнорирование этого правила может получить вы в беде в реальном мире. В частности, мне интересно узнать, почему PMD имеет правила AvoidInstantiatingObjectsInLoops и OnlyOneReturn (первое кажется необходимым, если вам нужно создать новый объект, соответствующий каждому объекту в коллекции, второй, похоже, во многих случаях является необходимостью верните значение, основанное на некоторых критериях), но то, что я действительно нахожу, - это ссылка где-то, описывающая "почему" за большинством правил PMD, поскольку это происходит достаточно часто.
Чтобы быть ясным, я знаю, что могу отключить их и как это сделать, мне просто интересно, почему они там, в первую очередь. Извините, если там что-то очевидное я пропустил там, но я сделал поиск Google и поиск SO, прежде чем публиковать это. Я также понимаю, что эти вопросы часто являются вопросом "вкуса" - то, что я ищу, является аргументом в пользу правил и альтернатив. Чтобы дать конкретный пример, как вы должны реализовать один объект, соответствующий каждому объекту в цикле (который является общей операцией в Java) без создания экземпляра каждого объекта в цикле?