User Tools

Site Tools


sad

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
sad [2014/02/16 06:39]
yann
sad [2014/02/19 08:27]
yann
Line 32: Line 32:
  
 Identifying code and design smells using PADL is made easy by the helper class ''​sad.helper.SmellsIdentifier''​. After having installed CPL, PADL, and POM, just go into the ''​SAD Tests''​ project and have a look at this class. It provides a main method with snippets of code to call the method ''​analyseIdiomLevelModel(String[],​ String, IIdiomLevelModel,​ String)'',​ which handles all the details. Also have a look at the constant array listing the smells that must be identified or avoided: ''​SMELLS_TO_IDENTIFY''​. Identifying code and design smells using PADL is made easy by the helper class ''​sad.helper.SmellsIdentifier''​. After having installed CPL, PADL, and POM, just go into the ''​SAD Tests''​ project and have a look at this class. It provides a main method with snippets of code to call the method ''​analyseIdiomLevelModel(String[],​ String, IIdiomLevelModel,​ String)'',​ which handles all the details. Also have a look at the constant array listing the smells that must be identified or avoided: ''​SMELLS_TO_IDENTIFY''​.
 +
 +SAD requires [[POM]] to compute various metrics involved in the definitions of the code and design smells. These metrics are referenced by name in the rule cards, for example:
 +
 +<​code>​
 +RULE_CARD : ComplexClass { 
 +   RULE : ComplexClass { UNION LargeClassOnly ComplexClassOnly } ; 
 +   RULE : LargeClassOnly { (METRIC: NMD + NAD, VERY_HIGH, 0) } ; 
 +   RULE : ComplexClassOnly { (METRIC: McCabe, VERY_HIGH, 20) } ;
 +};
 +</​code>​
sad.txt ยท Last modified: 2019/10/06 20:37 (external edit)