当前位置: 首页 > news >正文

代码优化方法记录

每次代码 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)
http://www.lryc.cn/news/398521.html

相关文章:

  • qt 图形、图像、3D相关知识
  • 【逆向基础】十、工具分享之DIE(Detect It Easy)
  • Netcat:——网络瑞士军刀
  • C++ //练习 14.50 在初始化ex1和ex2的过程中,可能用到哪些类类型的转换序列呢?说明初始化是否正确并解释原因。
  • 【开源 Mac 工具推荐之 1】gibMacOS:方便快捷的 macOS 完整包下载 Shell 工具
  • pdf文件如何快速英文转中文?
  • 程序的控制结构——if-else语句(双分支结构)【互三互三】
  • [C++]初识C++(命名空间,命名空间使用,函数重载,缺省参数等)
  • 每天一个数据分析题(四百十六)- 线性回归模型
  • JupyterNotebook中导出当前环境,并存储为requirements.txt
  • Java对象复制系列二: 手把手带你写一个Apache BeanUtils
  • 一个极简的 Vue 示例
  • 修复 Ubuntu 24.04 Dock 丢失应用程序图标
  • idea MarketPlace插件找不到
  • windows下使用编译opencv在qt中使用
  • 正则表达式-使用笔记
  • C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】
  • 软件架构之计算机网络
  • Qt/C++项目积累: 2.主机监控器 - 2.2 历史功能实现
  • 初识Spring Web MVC
  • 【排序算法】归并排序
  • 游戏AI的创造思路-技术基础-决策树(2)
  • vue缓存页面,当tab切换时保留原有的查询条件
  • PythonConda系列(亲测有效):【解决方案】Collecting package metadata (current_repodata.json): failed
  • web前端开发——标签一(注释、标题、段落、换行、格式、图片)
  • Django 常见的操作符
  • AJAX是什么?原生语法格式?jQuery提供分装好的AJAX有什么区别?
  • docker基础知识以及windows上的docker desktop 安装
  • 【深度学习基础】环境搭建 linux系统下安装pytorch
  • 【Sql Server】sql server 2019设置远程访问,外网服务器需要设置好安全组入方向规则