Hi Devs,

hope you doing well.

We’re currently facing real production bugs, along with approximately 500 PMD 
and 300 SpotBugs violations. This clearly exposes a gap in our current 
Definition of Done, especially regarding best practices and principles like 
convention over configuration, maintaining code quality, and aligning with 
industry standards.

It’s the past calling—demanding attention and refusing to be ignored until 
properly addressed.

While static code analysis isn’t new to us—we already use Checkstyle and 
Spotless—these tools alone don’t cover the full range of potential issues. Each 
having its own strength, chaining them together ensures broader, more effective 
coverage.

To that end, the current PoC reintroduces PMD to help enforce Java best 
practices. By suppressing the existing 483 PMD violations, this change enables 
us to merge the configuration without blocking ongoing development—while still 
preventing new violations from being introduced:

🔗 Enable PMD with suppressed existing violations 
<https://github.com/apache/maven/pull/2331>
The following PRs address individual violations—most of which can be easily 
fixed with IDE support:

🔗 PR 2350: UnusedAssignment <https://github.com/apache/maven/pull/2350>
🔗 PR 2349: UnnecessaryParentheses <https://github.com/apache/maven/pull/2349>
🔗 PR 2348: UnnecessaryFullyQualifiedName 
<https://github.com/apache/maven/pull/2348>
We increase both quantity and quality by locking in the current state and 
enforcing stricter standards moving forward. This allows us to stop regressions 
now and tackle legacy issues incrementally after integration.

Please don’t think of best practices as vague recommendations—they are settled 
standards embraced by a wide community. The real question is: do we want to 
align with common code quality standards and industry norms?

Exceptions will be allowed using suppressions whenever justified.



Kindly request your feedback, thanks for attention.



Best regards

Vincent



PS:

In reality, you don’t notice these tools until problems arise. 

It’s like karma—silent and harmless until you break something. Then it comes 
back to show its cost. 

Just want to limit this. Currently, there’s no limit, and things are going out 
of control.

Reply via email to