重新组织函数(重构手法一)

1,Extract Method (提炼函数)

      现象:一段代码可以被组织在一起并可独立出来

      要点:函数名称与函数本体要表达相同的意思,根据函数意图来命名,而不是根据怎样做。

2,Inline Method (内联函数)

      现象:一个函数的本体与名称同样清楚易懂

      要点:检查函数,确定没有子类引用它

3,Inline Temp (内联临时变量)

      现象:有一个临时变量,只被简单表达式赋值一次,而它妨碍了其他重构手法

      要点:将所有对该变量的引用动作,替换为对它赋值的那个表达式自身

4,Replace Temp With Query (以查询取代临时变量)

      现象:你的程序以一个临时变量保存某一表达式的运算结果

      要点:将这个表达式提炼到一个独立函数中。将这个临时变量的所有引用点替换为对新函数的调用。此后,新函数就可被其他函数使用

5,Introduce Explaining Variable (引入解释性变量)

      现象:你有一个复杂的表达式

      要点:将该复杂的表达式(或表达式的一部分)的结果放进一个临时变量,以此变量名来解释表达式的用途



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
重构JavaScript的高阶函数,可以考虑以下几个方面: 1. 使用箭头函数:箭头函数提供了简洁的语法,可以让代码更加清晰易读。将普通函数转换为箭头函数可以减少冗余的代码,并且更好地展示函数的意图。 例如,将普通函数重构为箭头函数: ```javascript // 普通函数 function square(x) { return x * x; } // 重构为箭头函数 const square = x => x * x; ``` 2. 函数柯里化(Currying):将一个接受多个参数的函数转换为一系列只接受单个参数的函数。这种转换可以使函数更加灵活,便于复用和组合。 例如,将一个接受多个参数的函数重构为柯里化函数: ```javascript // 普通函数 function add(x, y) { return x + y; } // 重构为柯里化函数 const add = x => y => x + y; ``` 3. 使用高阶函数:高阶函数接受一个或多个函数作为参数,并返回一个新的函数。通过使用高阶函数,可以将一些通用的逻辑抽象来,减少代码的复性。 例如,使用高阶函数重构过滤数组的逻辑: ```javascript // 普通函数 function filterArray(array, predicate) { const result = []; for (let i = 0; i < array.length; i++) { if (predicate(array[i])) { result.push(array[i]); } } return result; } // 重构为高阶函数 const filterArray = (array, predicate) => array.filter(predicate); ``` 以上是一些常见的重构技巧,当然具体的重构方式还需要根据实际情况来确定。重构的目标是提高代码的可读性、可维护性和可用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值