Jump to: navigation, search

SMILA/Discussions/Checkstyle

SMILA Checkstyle configuration changes

I'd like to suggest some changes for the checkstyle settings of our current checkstyle configuration file (brox_checks.xml) here. IMHO, the current configuration is too strict, produces much javadoc overhead and reduces developer acceptance.

I tried to restrict my suggestions to those that should be possible, according to the Checkstyle 5.3 documentation.

I'll label the suggestions with a,b,c,etc. so we can make a voting in the table below. Feel free to add some more suggestions.

Furthermore, I'd suggest a different checkstyle configuration for test bundles with some additional changes, see t1,t2,... below.


Suggestions:

a) exclude "private" methods from javadoc check.

b) exclude "private" variables from javadoc check.

c) remove check for allowed method length (IMHO the methold length is just a hint for too much complexity in a method, but not a real proof - so this should be decided by the developer)

d) javadoc methods: allow documented exceptions that are not declared if they are a subclass of java.lang.RuntimeException.

e) javadoc methods: allow documented exceptions that are subclass of one of declared exception.

f) allow inline conditionals


t) different checkstyle configuration for test bundles

t1) remove check for "magic numbers".

t2) javadoc methods: allow missing param tags.

t3) javadoc methods: allow missing throws tag.

t4) javadoc methods: allow missing return tag.

t5) remove javadoc check for variables

t6) have no checksstyle for test classes at all.
TM: maybe a bit harsh but i think it still would be OK.
AW: I thought about that too, but finally I'd say that tests are too important to completely get rid of checks.

t7) allow '_' in method and class names (i use this to separate and group the test cases and make them more visible/readable, e.g. Solr_SearchPipelet_ScenarioA_Test, test_feature_variantA_OK, test_feature_variantA_Fail, ... )

Votings:

Andreas Weber Thomas Menzel Andreas Schank
a) +1 +1 -1
b) +1 +1 -1
c) +1 +1 0
d) +1 +1 +1
e) +1 +1 +1
f) +1 ++1 ;) +1
t) +1 +1 +1
t1) +1 +1 +1
t2) +1 +1 0
t3) +1 +1 +1
t4) +1 +1 0
t5) +1 +1 0
t6) -1 0 -1
t7) +1 +1 0