Large class smell
m (category) |
|||
Line 6: | Line 6: | ||
''Refactoring'' gives some suggestions on how the Large class code smell can be remedied. You can use the [[Extract Class]] technique to group related variables into a new class. ''Refactoring'' recommends to: Choose variables to go together in the component (class) that makes sense for each. For example, "depositAmount" and "depositCurrency" are likely to belong together in a component (class). If a group of instance variables share common prefixes of suffixes in the class then this may suggest that creating a seperate class for those variables is a good idea. | ''Refactoring'' gives some suggestions on how the Large class code smell can be remedied. You can use the [[Extract Class]] technique to group related variables into a new class. ''Refactoring'' recommends to: Choose variables to go together in the component (class) that makes sense for each. For example, "depositAmount" and "depositCurrency" are likely to belong together in a component (class). If a group of instance variables share common prefixes of suffixes in the class then this may suggest that creating a seperate class for those variables is a good idea. | ||
+ | |||
+ | == See also == | ||
+ | * [[Code smells]] | ||
+ | |||
+ | [[Category:Code smells]] |
Revision as of 07:25, 1 August 2009
"A class with too much code is prime breeding ground for duplicated code, chaos, and death." - Refactoring Martin Fowler 1999
Refactoring Martin Fowler 1999 states that: When a class is trying to do too much, it often shows up as too many instance variables. When a class has too many instance variables, duplicated code cannot be far behind.
Refactoring
Refactoring gives some suggestions on how the Large class code smell can be remedied. You can use the Extract Class technique to group related variables into a new class. Refactoring recommends to: Choose variables to go together in the component (class) that makes sense for each. For example, "depositAmount" and "depositCurrency" are likely to belong together in a component (class). If a group of instance variables share common prefixes of suffixes in the class then this may suggest that creating a seperate class for those variables is a good idea.