- Data clumps
- Divergent change
- Duplicated code
- Large class
- Primitive obsession
- 一個 class 做的事情應該拆成兩個 class 時。
- 新增一個 class,將相關的 field 與 method 搬到新的 class 裡。
一開始可能覺得不值得為一兩個 method 新增一個 class,但是當一個 class 慢慢長大,變得複雜、變胖、負的責任太多、難以理解時,就是考慮 Extract class 的時候了。
分家可以依據同一群 field 和 method 成一家,或者連動的 field,或者相依靠的 field,都是分家的根據。
沒有留言:
張貼留言