Large class smell
m (Reverted edits by Ebybymic (Talk); changed back to last version by Matthew Harward) |
|||
(5 intermediate revisions by 4 users not shown) | |||
Line 5: | Line 5: | ||
== Refactoring == | == 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 | + | ''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]] | ||
+ | |||
+ | {{Template:CodeSmells}} | ||
+ | |||
+ | [[Category:Code smells]] |
Latest revision as of 03:18, 25 November 2010
"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.
See also