What is Quality and how to achieve it?
Quality Java code, as we understand it, compiles and complies to static analysis rules. Qulice uses a number of open-source components (in order to avoid reinventing the wheel). We pre-configured these tools for your convenience and extended them with our specific rules.
Checkstyle
Our custom rules:
- BracketsStructure
- ConstantUsage
- EmptyLines
- ImportCohesion
- JavadocLocation
- JavadocTags
- MethodBodyComments
- MultilineJavadocTags
- NonStaticMethod
- StringLiteralsConcatenation
- JavadocEmptyLine
If you want to disable some rule (this may happen, but try to avoid such situations at all cost):
/** * @checkstyle ParameterNumber (3 lines) */ public void funcWithManyParams(int a, int b, int c, int d) { // @checkstyle MagicNumber (1 line) int num = 5; // ... }
PMD
Rules can be disabled (again, try to avoid this at all cost):
@SuppressWarnings("PMD.UseConcurrentHashMap") public void func() { Map<String, String> map = new HashMap<String, String>(); // ... }