《重构:改善既有代码的设计》-学习笔记二(+实战解析)
我不是个伟大的程序员;我只是个有着一些优秀习惯的好程序员而己 本人比较直接,不说虚的,直接上干货。 Ŀ¼ Long Parameter List(过长参数列) Divergent Change(发散式变化) Shotgun Surgery(散弹式修改) Feature Envy(依恋情结) Data Clumps(数据泥团) Primitive Obsession(基本型别偏执) Switch Statements(switch惊悚现身) Long Parameter List(过长参数列) 上一节有提过,当函数的入参过多时,可以用第三招,参数对象化,把参数封装成对象,然后参数对象当成函数的入参,达到减少参数的作用。 除了参数对象化,还可以使用另一种方法来处理。 这种方法叫做:Replace Parameter with Method(以函数取代参数) 优化思路: 前提,这个参数是只被赋值一次的 1、如果有必要,将参数的计算过程提炼到一个独立函数中。 2、将函数内有使用参数的地方替换成独立函数。 3、每次替换后,测试。 4、全部替换完成后,最后把这个参数删除。 eg:未优化的代码 public double getPrice() { int basePrice = _quantity * _itemPrice; int discountLevel; if