The document discusses code smells, which are signs of deeper problems in software code that may need refactoring. It lists several types of bad smells including bloaters, change preventers, couplers, and tool abusers. Each smell is briefly described in one sentence. The document also lists common refactoring techniques that can help correct each smell, such as extracting methods, replacing conditionals, and removing unnecessary classes.
The document discusses code smells, which are signs of deeper problems in software code that may need refactoring. It lists several types of bad smells including bloaters, change preventers, couplers, and tool abusers. Each smell is briefly described in one sentence. The document also lists common refactoring techniques that can help correct each smell, such as extracting methods, replacing conditionals, and removing unnecessary classes.
The document discusses code smells, which are signs of deeper problems in software code that may need refactoring. It lists several types of bad smells including bloaters, change preventers, couplers, and tool abusers. Each smell is briefly described in one sentence. The document also lists common refactoring techniques that can help correct each smell, such as extracting methods, replacing conditionals, and removing unnecessary classes.
BLOATERS código, métodos y clases que podrían crecer rápidamente
CHANGE PREVENTERS cambio que conlleva cambios en otros lados COUPLERS contribuye al alto acoplamiento TOOL ABUSERS abusa o usa mal los principios de la POO DISPENSABLES algo sin sentido y la ausencia haría un código más limpio BAD SMELL REFACTORING QUE LO CORRIGE long method extract method, despompose conditional, replace temp with query, large class extract class, extract subclass data clumps extract class, introduce paramether object, preserve whole object replace paramether with method, preserve whole object, introduce long paramether list paramether object replace data value with object, introduce parameter object, replace array primitive obsession with object
divergent change extract class
shorgun surgery move method/ field
feature envy move method
inappropiate intimacy move method/ field, self encapsulate field message chains hide delegate, extract method, move method middle man remove middle man
switch statements replace condicional with polymorphism
refused bequest push down method/ field alternative class rename method temporary field extract class, replace method with method object
lazy class inline class, collapse hierarchy
speculative generality collapse hierarchy, inline class, remove parameter data class move method duplicate code extract method, pull up method, form template method comments extract method, rename method