代码的坏味道(9)-Primitive Obsession(基本型别偏执)

代码的坏味道(9)-Primitive Obsession(基本型别偏执)
大多数编程环境都有两种数据:结构型别(record types)允许你将数据组织成有意义的形式;基本型别(primitive types)则是构成结构型别的积木块。结构总是会带来一定的额外开销。它们有点像数据库中的表格,或是那些得不偿失(只为做一两件事而创建,却付出太大 额外开销)的东西。

对象技术的新手通常不原意在小任务上运用小对象-像是结合数值和币别的money class、含一个起始值和一个结束值的range class、电话号码或邮政编码( zip)等等的特殊Strings。你可以运用 Replace Data Value with Object(175)将原本单独存在的数据值替换为对象,从而走出传统的洞窟,进入炙手可热的对象世界。如果欲替换之数据值是type code(型别码),而它并不影响行为,你可以运用 Replace Type Code with Class(218)将它换掉。如果你有相依于此type code的条件式,可运用 Replace Type Code with Subclass(227)或 Replace Type Code with State/Strategy(227)加以处理。

如果你有一组应该总是被放在一起的值域(fields),可运用 Extract Class(149)。如果你在参数列中看到基本型数据,不妨试试 Introduce Parameter Object(295)。如果你发现自己正从array中挑选数据,可运用 Replace Array with Object(186)。

你可能感兴趣的:(代码的坏味道(9)-Primitive Obsession(基本型别偏执))