美文网首页
代码能力可读提升 二 策略模式

代码能力可读提升 二 策略模式

作者: litielongxx | 来源:发表于2023-09-18 09:42 被阅读0次

当存在if else过多时,会造成页面过长,且复杂度增加。
有的会用switch替代,高级点的会用策略模式处理。
复用 +1
代码简洁 +1

const calculateSalary = function (workerLevel, workHours = 10) {
    if (workerLevel === 'high') {
        return workHours * 25
    }
    if (workerLevel === 'middle') {
        return workHours * 20
    }
    if (workerLevel === 'low') {
        return workHours * 15
    }
}
console.log(calculateSalary('high')) // 250
console.log(calculateSalary('middle')) // 200

改为策略模式

const strategies = {
    "high": function (workHours) {
        return workHours * 25
    },
    "middle": function (workHours) {
        return workHours * 20
    },
    "low": function (workHours) {
        return workHours * 15
    },
}

const calculateSalary = function (workerLevel, workHours) {
    return strategies[workerLevel](workHours)
}
console.log(calculateSalary('high', 10)) // 250
console.log(calculateSalary('middle', 10)) // 200

优点1 可维护增加,例如新增时候strategies可以很方便,且符合eslint推荐的圈复杂度
主要在于在后期维护的过程中不需要关注具体业务。而strategies也可以导出作为其余需要时的复用+1;calculateSalary写入专用的业务代码也更符合规范
优点2 变相提升代码水平能力 代码高大上 指数+1 和薪资挂钩
ps:
参考资料:
https://juejin.cn/post/7279041076273610764
(一个if会让圈复杂增加1,圈复杂度高的代码不易阅读和维护,)

相关文章

  • 高质量前端代码是怎样写的?

    过长的if else-if 策略/状态模式 策略模式基本结构:减少了if…else的数量,提升了代码的可读性,通过...

  • 2021-12-05 设计模式导读总结

    设计模式 学习设计模式的目的分为5方面分别是:应付面试;提高代码设计和编写能力;提高代码的可读性;提升学习框架的效...

  • 策略模式

    一、策略模式介绍 二、策略模式代码实例

  • 抛弃代码的坏味道 - 提升代码质量之可测试性

    本文是提升代码质量第二篇:对于代码可测试性,我所遵守一些原则。第一篇传送门 提升代码质量之可读性 https://...

  • 机会

    精力是否可以通过工具覆盖 机会无处不在模式 能力圈 胜率 策略:控制亏损,提升胜率

  • 设计模式--策略模式

    目录 本文的结构如下: 引言 什么是策略模式 模式的结构 典型代码 代码示例 策略模式和模板方法模式的区别 优点和...

  • 个人发展破局

    增强营销策略能力,提升销售管控能力

  • 【持续更新】Java代码优化总结

    代码优化的目标: 1. 减小代码体积 2. 增强代码可读性 3. 提升代码执行效率

  • 能力提升策略

    简单的说,知识就是:懂,还是不懂;知道,还是不知道。 知识不是力量,只有能被使用的知识才是力量。所以不仅要学习知识...

  • 通用字段和通用方法名的好处

    设计代码和数据库的准则:规范、简洁,同时可读性好。规范是为了提升可读性,简洁是为了提升开发体验,比如User.na...

网友评论

      本文标题:代码能力可读提升 二 策略模式

      本文链接:https://www.haomeiwen.com/subject/axlgvdtx.html