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>();
// ...
}