代码优化方法记录

每次代码 review 之后,对 review 的情况进行总结记录,产出实际经验,方便组内学习、分享。

1、提取公共内容

公共内容要提取,避免重复编写;

2、css 色值使用变量

css 中的色值、字体,都换成组件库中的变量、class;

3、v-if、v-show要用对时机

如果就是不加载对应组件可以用 v-if,否则,尽量用 v-show。比如多tab切换的时候,可以保存客户的使用状态;

4、无用代码去除

无用代码、注释掉的代码,记得删除,否则后期改造或者进行逻辑梳理的时候会造成干扰。

5、解构赋值

善用解构赋值,优化代码, 避免重复长链路获取

反面示例:

复制代码
const isEmbed = this.$route.query.isEmbed 
const isEmbed2 = this.$route.query.isEmbed2

期望示例

复制代码
const {isEmbed,isEmbed2} = this.$route.query

6、加好注释

业务逻辑类的判断,要加注释,否则别人不知道是什么意思。

7、善用三元表达式

用三元表达式来写,简化代码,避免大片的 if-else

反面示例:

复制代码
if (this.loginType === 'certLoginProcess') {    
   this.$Message.error(loginErrorMessage || '登录认证失败!') 
} else {    
   this.$Message.error(loginErrorMessage || '无感登录失败!') 
} 

期望示例

复制代码
this.$Message.error(loginErrorMessage || (this.loginType === 'certLoginProcess' ? '登录认证失败!' :  '无感登录失败!'))

8、善用 Array.includes()

同字段多个逻辑或( || )判断,可以改为使用 includes

反面示例:

复制代码
if (result.dictCode === 'STAR' || result.dictCode === 'SPACE') {}

期望示例

复制代码
['STAR','SPACE'].includes(result.dictCode)

9、善用逻辑或 ||

善用逻辑或(||)运算符处理,避免大片if else

反面示例:

复制代码
if (this.formData.affiliatedBusiness === '10') {    
   return true 
} if (this.formData.affiliatedBusiness.includes('10')) {    
   return true 
}

期望示例

复制代码
let { affiliatedBusiness } = this.formData 
if(affiliatedBusiness === '10' || affiliatedBusiness.includes('10')){ 	
    return true 
}

10、驼峰命名

反面示例:

复制代码
const testTel = utilFun.is_valid_phone_number(taxTel)

期望示例

复制代码
const testTel = utilFun.isValidPhoneNumber(taxTel)
相关推荐
华玥作者6 小时前
[特殊字符] VitePress 对接 Algolia AI 问答(DocSearch + AI Search)完整实战(下)
前端·人工智能·ai
Mr Xu_6 小时前
告别冗长 switch-case:Vue 项目中基于映射表的优雅路由数据匹配方案
前端·javascript·vue.js
前端摸鱼匠6 小时前
Vue 3 的toRefs保持响应性:讲解toRefs在解构响应式对象时的作用
前端·javascript·vue.js·前端框架·ecmascript
lang201509287 小时前
JSR-340 :高性能Web开发新标准
java·前端·servlet
好家伙VCC8 小时前
### WebRTC技术:实时通信的革新与实现####webRTC(Web Real-TimeComm
java·前端·python·webrtc
未来之窗软件服务8 小时前
未来之窗昭和仙君(六十五)Vue与跨地区多部门开发—东方仙盟练气
前端·javascript·vue.js·仙盟创梦ide·东方仙盟·昭和仙君
嘿起屁儿整8 小时前
面试点(网络层面)
前端·网络
VT.馒头8 小时前
【力扣】2721. 并行执行异步函数
前端·javascript·算法·leetcode·typescript
phltxy9 小时前
Vue 核心特性实战指南:指令、样式绑定、计算属性与侦听器
前端·javascript·vue.js
HellowAmy10 小时前
我的C++规范 - 线程池
开发语言·c++·代码规范