This repository has been archived by the owner on Apr 17, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 10
Home
marcoow edited this page Aug 13, 2010
·
28 revisions
Excellent detects commonly regarded bad code snippets like empty rescue
blocks etc. It combines roodi (http://github.com/martinjandrews/roodi), most checks of reek ("http://github.com/kevinrutherford/reek “:http://github.com/kevinrutherford/reek), flog (”http://github.com/seattlerb/flog ":http://github.com/seattlerb/flog) and also adds some Rails specific checks.
Excellent is not yet where it could (and should) be, so contribute ideas, patches or whatever you might think of!
Excellent has the following checks:
- AbcMetricMethodCheck – reports methods with an ABC metric score that is higher than the threshold.
- AssignmentInConditionalCheck – reports conditionals that test an assignment.
-
CaseMissingElseCheck – reports
case
statements that don’t have anelse
clause. - ClassLineCountCheck – reports classes which have more lines than the threshold.
- ClassNameCheck – reports classes with bad names.
- ControlCouplingCheck – reports methods that check the value of a parameter to decide which execution path to take.
- CyclomaticComplexityBlockCheck – reports blocks with a cyclomatic complexity metric score that is higher than the threshold.
- CyclomaticComplexityMethodCheck – reports methods with a cyclomatic complexity metric score that is higher than the threshold.
-
EmptyRescueBodyCheck – reports empty
rescue
blocks. - FlogBlockCheck – reports blocks with a Flog metric score that is higher than the threshold.
- FlogClassCheck – reports classes with a Flog metric score that is higher than the threshold.
- FlogMethodCheck – reports methods with a Flog metric score that is higher than the threshold.
- ForLoopCheck – reports code that uses for loops.
- MethodLineCountCheck – reports methods which have more lines than the threshold.
- MethodNameCheck – reports methods with bad names.
- ModuleLineCountCheck – reports modules which have more lines than the threshold.
- ModuleNameCheck – reports modules with bad names.
- NestedIteratorsCheck – reports nested iterators.
- ParameterNumberCheck – reports method and blocks that have more parameters than the threshold.
- SingletonVariableCheck – reports class variables.
Excellent also has some checks specific to Ruby on Rails:
-
AttrAccessibleCheck – reports
ActiveRecord
models that do not specifyattr_accessible
. -
AttrProtectedCheck – reports
ActiveRecord
models that specifyattr_protected
. - InstanceVarInPartialCheck – reports partials that use instance variables.
-
ValidationsCheck – reports
ActiveRecord
models that don’t validate anything.