JavaScript防御性编程

简单聊一下防御性编程,初衷是开发人员为了防止自己被裁员,而将代码编写为只有自己能看懂。如何只有自己能看懂?方法多种多样,但不能将简单问题复杂化,比如:编写一堆无效的逻辑关系,或将业务复杂化。下面介绍一种方式,既能通过代码审查,又能提高代码水平。

以vue为例,以下是计算所有产品价格:

复制代码
computed: {
        extraPrice() {
            try {
                return (
                    let cPrices = 0;
                    this.cProducts.forEach((item) => {
                        cPrices = cPrices + item.num * item.price;
                        //或 cPrices += item.num * item.price;
                    });
                    this.aProduct.num * this.aProduct.price + 
                    this.bProduct.num * this.bProduct.price + 
                    cPrices
                );
            } catch (e) {
                console.log('价格计算有误');
                return 0;
            }
        }
}

上面代码简单明了,大部分开发人员都能读懂,那么有没有高级一点的写法,当然有:

复制代码
computed: {
        extraPrice() {
            try {
                return (
                    this.aProduct.num * this.aProduct.price + 
                    this.bProduct.num * this.bProduct.price + 
                    this.cProduct.reduce((total,item) => total + item.num * item.price,0)
                );
            } catch (e) {
                console.log('价格计算有误');
                return 0;
            }
        }
}

对于不经常使用reduce的开发人员,需要先理解该函数。但要说代码的可读性,这段代码也没问题,简单明了。

简而言之,多使用高级函数,符号简写等等。

相关推荐
因_崔斯汀2 分钟前
网页为什么需要框架?
前端
前端 贾公子2 分钟前
Tailwind CSS `shrink-0`是啥意思?
前端
奥利奥夹心脆芙6 分钟前
OTel / Logstash / Fluentd 全维对比,及统一日志与指标管道的 AWS ECS 落地
javascript
浮游本尊13 分钟前
前端vue转后端java学习路径
java·前端·vue.js
南一Nanyi21 分钟前
性能优化的方法论
前端·性能优化
KWTXX23 分钟前
vibe coding-提示词
java·前端·算法
zithern_juejin23 分钟前
手写函数组合compose
javascript
零度晚风25 分钟前
前端代码:Monorepo × Harness Engineering
前端
rime_neko25 分钟前
js学习笔记
开发语言·前端·javascript
情多多7726 分钟前
OpenClaw.NET 外部 CLI 预设系统:从零编写第三方 CLI 集成指南
javascript