Hi Jörg,
I've used sonarqube in the past, but only to find myself using the reports on 
some key metrics such as 'Lines of Code'. Version 5.6.6 had a pretty chart that 
could render an overview of the modules with colored rectangles representing 
lines of code by their rectangle's sizes.

Other than that I find that sonarqube is a great tool for code reviewing, but 
still needs a human brain to actually go through the rule violations and decide 
whether a Jira issue should be filed or not. 

So having reports automated, that produce some interesting metrics seems a plus 
for me. But I'd suggest not to create Jira issues without a thorough 
code-review. 

Cheers Andi

On 2018/12/19 15:44:37, "Rade, Joerg / Kuehne + Nagel / HAM GI-DP" 
<joerg.r...@kuehne-nagel.com> wrote: 
> Hi,
> 
> I've just imported v2 into a local sonarqube [1] .
> According to the default rules there are about 4K isssues ranging from (Bug 
> to Code Smell and from Blocker to Info).
> 
> I'm the author of 2 (unused private constructor).
> 
> Should I raise a Jira issue for each type of finding (see Top 100 below)?
> Should fixes be made against master?
> Would it make sense to use [2]?
> 
> -j
> 
> 
> [1] https://www.sonarqube.org/
> [2] https://cwiki.apache.org/confluence/display/INFRA/SonarQube+Analysis
> ---- 8< ----
> (Java) Sections of code should not be commented out
> 359
> (Java) Modifiers should be declared in the correct order
> 297
> (CSS) Selectors of lower specificity should come before overriding selectors 
> of higher specificity
> 235
> (Java) Inheritance tree of classes should not be too deep
> 224
> (Java) Track uses of "TODO" tags
> 176
> (Java) Source files should not have any duplicated blocks
> 162
> (Java) Methods should not be empty
> 154
> (Java) Local variables should not be declared and then immediately returned 
> or thrown
> 134
> (Java) Generic exceptions should never be thrown
> 132
> (Java) Local variables should not shadow class fields
> 108
> (Java) Class names should comply with a naming convention
> 103
> (Java) String literals should not be duplicated
> 96
> (Java) "@Deprecated" code should not be used
> 81
> (Java) Cognitive Complexity of methods should not be too high
> 81
> (Java) Utility classes should not have public constructors
> 77
> (Java) "throws" declarations should not be superfluous
> 75
> (Java) Deprecated code should be removed
> 72
> (Java) Static non-final field names should comply with a naming convention
> 70
> (Java) Unused method parameters should be removed
> 64
> (Java) Class variable fields should not have public accessibility
> 60
> (Java) Fields in a "Serializable" class should either be transient or 
> serializable
> 57
> (Java) "public static" fields should be constant
> 55
> (Java) Declarations should use Java collection interfaces such as "List" 
> rather than specific implementation classes such as "LinkedList"
> 52
> (Java) Class names should not shadow interfaces or superclasses
> 46
> (Java) Local variable and method parameter names should comply with a naming 
> convention
> 45
> (Java) Parsing should be used to convert "Strings" to primitives
> 39
> (Java) Standard outputs should not be used directly to log anything
> 39
> (Java) "Preconditions" and logging arguments should not require evaluation
> 36
> (Java) Empty arrays and collections should be returned instead of null
> 36
> (Java) Generic wildcard types should not be used in return parameters
> 35
> (Java) Null pointers should not be dereferenced
> 35
> (Java) Nested code blocks should not be used
> 34
> (Java) Null checks should not be used with "instanceof"
> 34
> (Java) Unused "private" fields should be removed
> 33
> (Java) TestCases should contain tests
> 32
> (Java) "static" members should be accessed statically
> 31
> (Java) Collapsible "if" statements should be merged
> 30
> (Java) Empty statements should be removed
> 27
> (Java) Mutable fields should not be "public static"
> 27
> (Java) Useless imports should be removed
> 27
> (Java) Return of boolean expressions should not be wrapped into an 
> "if-then-else" statement
> 25
> (Java) Unused local variables should be removed
> 24
> (Java) Loops should not contain more than a single "break" or "continue" 
> statement
> 23
> (Java) Synchronized classes Vector, Hashtable, Stack and StringBuffer should 
> not be used
> 23
> (Java) Deprecated elements should have both the annotation and the Javadoc tag
> 22
> (Java) "entrySet()" should be iterated when both the key and value are needed
> 21
> (Java) Dead stores should be removed
> 20
> (Java) Methods should not have identical implementations
> 20
> (Java) Assignments should not be made from within sub-expressions
> 19
> (Java) Collection.isEmpty() should be used to test for emptiness
> 19
> (Java) Jump statements should not be redundant
> 19
> (Java) Printf-style format strings should be used correctly
> 19
> (Java) Method names should comply with a naming convention
> 18
> (Java) String function use should be optimized for single characters
> 18
> (Java) Constant names should comply with a naming convention
> 17
> (Java) Constants should not be defined in interfaces
> 17
> (Java) "switch" statements should have at least 3 "case" clauses
> 16
> (Java) Methods should not return constants
> 16
> (Java) Nested "enum"s should not be declared static
> 16
> (Java) Tests should not be ignored
> 16
> (Java) Arrays should not be created for varargs parameters
> 15
> (Java) Boolean expressions should not be gratuitous
> 14
> (Java) Methods should not have too many parameters
> 14
> (Java) Track uses of "FIXME" tags
> 14
> (Java) Only static class initializers should be used
> 13
> (Java) Overriding methods should do more than simply call the same method in 
> the super class
> 13
> (Java) Redundant casts should not be used
> 13
> (Java) Nested blocks of code should not be left empty
> 12
> (Java) Ternary operators should not be nested
> 12
> (Java) "switch" statements should have "default" clauses
> 11
> (Java) Abstract methods should not be redundant
> 11
> (Java) "private" methods called only by inner classes should be moved to 
> those classes
> 10
> (Java) Field names should comply with a naming convention
> 10
> (Java) Subclasses that add fields should override "equals"
> 10
> (Java) Constructors should not be used to instantiate "String", "BigInteger", 
> "BigDecimal" and primitive-wrapper classes
> 9
> (Java) Double Brace Initialization should not be used
> 9
> (Java) Resources should be closed
> 9
> (Java) Unused "private" methods should be removed
> 9
> (Java) Classes named like "Exception" should extend "Exception" or a subclass
> 8
> (Java) Credentials should not be hard-coded
> 8
> (Java) Package names should comply with a naming convention
> 8
> (Java) Public constants and fields initialized at declaration should be 
> "static final" rather than merely "final"
> 8
> (Java) Exceptions should not be thrown from servlet methods
> 7
> (CSS) Selectors should not be duplicated
> 6
> (Java) "equals(Object obj)" should be overridden along with the "compareTo(T 
> obj)" method
> 6
> (Java) A field should not duplicate the name of its containing class
> 6
> (Java) Boolean literals should not be redundant
> 6
> (Java) Methods returns should not be invariant
> 6
> (Java) Try-catch blocks should not be nested
> 6
> (Java) Unused type parameters should be removed
> 6
> (Java) Array designators "[]" should be on the type, not the variable
> 5
> (Java) Child class fields should not shadow parent class fields
> 5
> (Java) Instance methods should not write to "static" fields
> 5
> (Java) Methods and field names should not be the same or differ only by 
> capitalization
> 5
> (Java) Optional value should only be accessed after calling isPresent()
> 5
> (Java) Private fields only used as local variables in methods should become 
> local variables
> 5
> (Java) Throwable and Error should not be caught
> 5
> (JavaScript) Unused local variables and functions should be removed
> 5
> (Java) "InterruptedException" should not be ignored
> 4
> (Java) Null should not be returned from a "Boolean" method
> 4
> 
> Kühne + Nagel (AG & Co.) KG
> Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE 812773878.
> Geschäftsleitung Kühne + Nagel (AG & Co.) KG: Dr. Hansjörg Rodi (Vors. ), Tom 
> Ban, Martin Brinkmann, Holger Ketz, Jan-Hendrik Köstergarten, Nicholas Minde, 
> Lars Wedel, Matthias Weiner.
> Persönlich haftende Gesellschafterin: Kühne & Nagel A.G., Rechtsform: 
> Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745, 
> Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt.
> Geschäftsleitung Region Zentral- und Osteuropa: Dr. Hansjörg Rodi (Vors.), 
> Tom Ban, Dominic Edmonds, Thierry Held, Uwe Hött, Richard Huhn, Holger Ketz, 
> Jan-Hendrik Köstergarten, Jan Kunze.
> 
> Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen 
> Spediteurbedingungen 2017 (ADSp 2017). Hinweis: Die ADSp 2017 weichen in 
> Ziffer 23 hinsichtlich des Haftungshöchstbetrages für Güterschäden (§ 431 
> HGB) vom Gesetz ab, indem sie die Haftung bei multimodalen Transporten unter 
> Einschluss einer Seebeförderung und bei unbekanntem Schadenort auf 2 SZR/kg 
> und im Übrigen die Regelhaftung von 8,33 SZR/kg zusätzlich auf 1,25 Millionen 
> Euro je Schadenfall sowie 2,5 Millionen Euro je Schadenereignis, mindestens 
> aber 2 SZR/kg, beschränken. Die ADSp sind auf unserer Webseite als Download 
> erhältlich. Auf Anfrage senden wir Ihnen diese auch gerne zu.
> 

Reply via email to