Camillo we should really spend some time updating the plots in the jenkins job :�https://ci.inria.fr/pharo/job/Pharo-3.0-CodeCritics-Beta/ .

Because then for Pharo 3.0 release we could advertse saying look at the plots it is the code quality improvements for this release.


2013/5/16 Camillo Bruni <camillobruni@gmail.com>
I spent some time yesterday evening with ben to compile a set of nice validation rules for the monkey, this is what we came up with ;) :

� � � � CIRunTestsRule & "Only after the tests succeeded validate anything else"
� � � � � � � � � � � � ( "Hard rules that lead to immediate WorkNeeded state:"
� � � � � � � � � � � � RBUnclassifiedMethodsRule harden,
� � � � � � � � � � � � RBUndeclaredReferenceRule harden,
� � � � � � � � � � � � RBNoClassCommentRule harden,
� � � � � � � � � � � � RBDefinesEqualNotHashRule harden,
� � � � � � � � � � � � RBEquivalentSuperclassMethodsRule harden,
� � � � � � � � � � � � RBJustSendsSuperRule harden,
� � � � � � � � � � � � RBSubclassResponsibilityNotDefinedRule harden,
� � � � � � � � � � � � RBTempVarOverridesInstVarRule harden,
� � � � � � � � � � � � RBUndeclaredReferenceRule harden,
� � � � � � � � � � � � RBVariableNotDefinedRule harden,
� � � � � � � � � � � � RBEqualNotUsedRule harden,
� � � � � � � � � � � � RBOnlyReadOrWrittenTemporaryRule harden,
� � � � � � � � � � � � RBPrecedenceRule harden,
� � � � � � � � � � � � RBSendsDeprecatedMethodToGlobalRule harden,
� � � � � � � � � � � � RBSizeCheckRule harden,
� � � � � � � � � � � � RBUnconditionalRecursionRule harden,
� � � � � � � � � � � � RBUnoptimizedToDoRule harden,
� � � � � � � � � � � � RBBetweenAndRule harden,
� � � � � � � � � � � � RBCodeCruftLeftInMethodsRule harden,

� � � � � � � � � � � � "Soft rules that only lead to warnings:"
� � � � � � � � � � � � RBInstanceVariableCapitalizationRule, RBClassVariableCapitalizationRule,
� � � � � � � � � � � � RBMissingSubclassResponsibilityRule,
� � � � � � � � � � � � RBOverridesSpecialMessageRule,
� � � � � � � � � � � � RBRefersToClassRule,
� � � � � � � � � � � � RBBadMessageRule,
� � � � � � � � � � � � RBUsesTrueRule,
� � � � � � � � � � � � RBSendsDifferentSuperRule,
� � � � � � � � � � � � RBInconsistentMethodClassificationRule,
� � � � � � � � � � � � RBInstVarInSubclassesRule,
� � � � � � � � � � � � RBSentNotImplementedRule,
� � � � � � � � � � � � RBLongMethodsRule,
� � � � � � � � � � � � RBCollectionProtocolRule,
� � � � � � � � � � � � RBConsistencyCheckRule,
� � � � � � � � � � � � RBContainsRule, RBDetectContainsRule,
� � � � � � � � � � � � RBEmptyExceptionHandlerRule,
� � � � � � � � � � � � RBEndTrueFalseRule,
� � � � � � � � � � � � RBEqualsTrueRule,
� � � � � � � � � � � � RBExtraBlockRule,
� � � � � � � � � � � � RBFileBlocksRule,
� � � � � � � � � � � � RBFloatEqualityComparisonRule,
� � � � � � � � � � � � RBLiteralArrayCharactersRule,
� � � � � � � � � � � � RBMissingYourselfRule,
� � � � � � � � � � � � RBModifiesCollectionRule,
� � � � � � � � � � � � RBReturnsIfTrueRule,
� � � � � � � � � � � � RBSearchingLiteralRule,
� � � � � � � � � � � � RBUnnecessaryAssignmentRule,
� � � � � � � � � � � � RBNotEliminationRule,
� � � � � � � � � � � � RBAtIfAbsentRule,
� � � � � � � � � � � � RBAllAnyNoneSatisfyRule,
� � � � � � � � � � � � RBClassNameInSelectorRule );


Don't be scared nor offended if your issue submission will get a lot of feedback in the near future.
We're tweaking the rules to get decent feedback and not just blind noise.



--
Cl�ment B�ra
Mate Virtual Machine Engineer
B�timent B 40, avenue Halley 59650�Villeneuve d'Ascq