org.hammurapi

Results
Date2007/07/27
Files68
Codebase111704
Reviews208455
Violations3046
Waived violations0
DPMO624
Sigma4.728

Severity summary

Severity 1, total 80
InspectorDescriptionNumber
ER-011Cyclomatic complexity exceeds specified limit29
ER-048Use BigDecimal instead of Float or Double for monetary values32
ER-076Make inner classes "private"1
ER-080Avoid "for", "do", "while", "if" and "if ... else" statements with empty bodies1
ER-111LOG4J is mandatory for all logging in ERC. System.out.println will be lost in a system console of our web/app server.11
ER-214Heterogenous Collection detected: The code adds objects of different types in a collection. This can cause serious mainteance issues. The creator and consumer of the collection have to have implicit knowledge about the index of a specific object inside of the collection. Go with a dedicated parameter or Data Transfer Object instead. There is only one exception for using Heterogenous Collection: If all objects in the collection implement a specific interface, this is acceptable. 6

Severity 2, total 227
InspectorDescriptionNumber
ER-017-EDo not assign new value to a parameter. For comprehensibility, formal parameters should be final4
ER-033Source file is too long1
ER-041Method is too long10
ER-043Packages should be neither too lean nor too fat.1
ER-046Method declares too general exception types (Exception, Throwable) in throws clause4
ER-047Operation (method or constructor) declares subclasses of RuntimeException in throws clause13
ER-049Unify logging strategy - define individual logger for class56
ER-079Avoid casting primitive data types to lower precision15
ER-095Too many exceptions listed in throws clause2
ER-102String Arrays are deprecated and are ONLY allowed for final variables8
ER-103Catch-blocks should log the exeption with Log4J.error("Context String" , exception )88
ER-104Use a Collection instead of arrays Object[]17
ER-113Unused private/local variables8

Severity 3, total 2739
InspectorDescriptionNumber
ER-001Imports should be ordered according to the configuartion parameters and further for each parameter, imports should be arrange alphabetically 4
ER-005Classes, interfaces, methods, and variables should be named according to Sun's naming conventions.5
ER-018Sun coding standards - class modifiers should be in order (public protected private abstract static final strictfp)1
ER-023Packages should begin with project or organization package prefix68
ER-025Parenthesis are redundant1
ER-028Avoid hardwired character literals96
ER-029Avoid hardwired numeric literals33
ER-030Avoid hardwired string literals727
ER-036Line is too long1049
ER-082Avoid using method parameter names that conflict with class member names97
ER-096Empty statements1
ER-098No need to provide (public, abstract, ) modifiers for interface methods2
ER-105Document all Interfaces and public methods. Use a Class header. Provide Javadoc492
ER-107Instance variables and method names shouldn't have same name5
ER-109It is good practice to call in any case super() in a constructor. (see also: UnnecessaryConstructorRule )20
ER-116Use StringBuffer for excessive String concatenation. This inspector skips static fields initializers, single concatenations (one +) and concatenations of constants like "a"+"b"+"c" because they are calculated at compile time.133
ER-210StringTokenizer is deprecated, use String.split() instead.5

Metrics
NameNumberMinAvgMaxTotal
Change ratio681.001.001.0068.00
Class complexity560.0028.00140.001568.00
Code length8130.007.55273.006145.00
File length6832.00175.881208.0011960.00
Operation complexity8090.002.2038.001785.00
Work order682.2155.9199.003802.14

Violations
#NameSeverityDescription
1ER-0432Package contains more than 50 files (68). for key MAX

JavaDoc

Files
NameReviewsViolationsDPMOSigma
BufferedReviewRequest.javaNEW!68262195.015
DomInspectorDescriptor.javaNEW!87401304374.828
DomInspectorSource.javaNEW!1933345944.741
DomWaiver.javaNEW!6431676774.704
DomWaiverSource.javaNEW!1681255774.75
EmbeddedInspectorSetDocumenter.javaNEW!1695329324.611
FilterEntry.javaNEW!29444424.825
FilteringInspector.javaNEW!1071935.236
HammurapiArchiver.javaNEW!113541626574.713
HammurapiException.javaNEW!32736424.719
HammurapiFileSet.javaNEW!39153584.883
HammurapiMeasurement.javaNEW!1071935.236
HammurapiNonConsumableException.javaNEW!31546984.695
HammurapiRuntimeException.javaNEW!33236324.724
HammurapiTask.javaNEW!155262036174.731
HistoryOutput.javaNEW!2053212334.999
Inspector.javaNEW!3162635.333
InspectorBase.javaNEW!1573252165.02
InspectorContext.javaNEW!845312074.534
InspectorContextBase.javaNEW!3705542185.017
InspectorContextFactory.javaNEW!10321945.048
InspectorContextImpl.javaNEW!3817727784.664
InspectorDescriptor.javaNEW!7402275.537
InspectorDescriptorFilter.javaNEW!17818955.231
InspectorDescriptorStack.javaNEW!7621611035.21
InspectorEntry.javaNEW!6151673134.919
InspectorSet.javaNEW!7894864054.849
InspectorSource.javaNEW!9211085.198
InspectorSourceEntry.javaNEW!50093604.882
InspectorSourceInfo.javaNEW!613103094.923
Listener.javaNEW!2382845.263
ListenerEntry.javaNEW!32377734.666
Module.javaNEW!9811025.214
Output.javaNEW!149312262714.958
ParameterEntry.javaNEW!32523384.899
ParameterizableInspectorBase.javaNEW!52242494.982
PersistingInspectorBase.javaNEW!785184584.815
QuickHammurapiTask.javaNEW!102931729274.612
QuickPackageResults.javaNEW!1016723419744.382
QuickResultsCollector.javaNEW!6081542964.935
QuickReviewEngine.javaNEW!4109774724.807
QuickSummary.javaNEW!769616018214.407
ResultsCollector.javaNEW!75781298824.627
Review.javaNEW!1441695.31
ReviewAcceptor.javaNEW!1051955.231
ReviewAcceptorEntry.javaNEW!32377734.666
Reviewer.javaNEW!85071568814.627
ReviewRequest.javaNEW!2591385.453
ReviewRequestBase.javaNEW!21146164.731
ReviewToLogListener.javaNEW!2532482604.97
SelfDescribingInspectorBase.javaNEW!1090243024.929
SelfDescribingInspectorProxy.javaNEW!3387562185.017
ServerEntry.javaNEW!71792514.98
Session.javaNEW!2621385.456
SessionImpl.javaNEW!2873343064.926
SimpleReviewEngine.javaNEW!3373735634.757
SimpleViolation.javaNEW!2269181585.101
StyleSheetEntry.javaNEW!135171185.176
TaskBase.javaNEW!242093555554.761
V4InspectorSetDocumenter.javaNEW!1636299474.606
Violation.javaNEW!1561645.33
ViolationFilter.javaNEW!9111095.195
WaiveCaseEntry.javaNEW!27555094.785
Waiver.javaNEW!3202625.336
WaiverEntry.javaNEW!11921685.086
WaiverSet.javaNEW!2974141075.2
WaiverSource.javaNEW!1081925.238
WaiverSourceEntry.javaNEW!29965014.79

Hammurapi 3 Copyright © 2004 Hammurapi Group. All Rights Reserved.