User Tools

Site Tools


sad

This is an old revision of the document!


SAD

SAD stands for Software Architectural Defects and is our implementation of DETEX, following the DECOR method to specify and identify occurrences of anti-patterns in PADL models. A paper introducing DETEX and DECOR has been published by Moha, Guéhéneuc, Duchien, and Le Meur and can be used as reference.

Anti-patterns Definition

Names Definitions
AntiSingleton
BaseClassKnowsDerivedClass
BaseClassShouldBeAbstract
Blob The Blob (also called God class) corresponds to a large controller class that depends on data stored in surrounding data classes. A large class declares many fields and methods with a low cohesion. A controller class monopolises most of the processing done by a system, takes most of the decisions, and closely directs the processing of other classes. Controller classes can be identified using suspicious names such as Process, Control, Manage, System, and so on. A data class contains only data and performs no processing on these data. It is composed of highly cohesive fields and accessors.
ClassDataShouldBePrivate
ComplexClass
FunctionalDecomposition
LargeClass
LazyClass
LongMethod
LongParameterList
ManyFieldAttributesButNotComplex
MessageChains
RefusedParentBequest
SpaghettiCode
SpeculativeGenerality
SwissArmyKnife
TraditionBreaker

Anti-patterns Identification

sad.1390375646.txt.gz · Last modified: 2019/10/06 20:37 (external edit)