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