美文网首页
JS代码优化浅谈

JS代码优化浅谈

作者: Lisa_Guo | 来源:发表于2021-03-12 18:30 被阅读0次

本文主要介绍一下如何让代码整洁可读的几点建议,总体是为了让代码逻辑及结构更加清晰,增加可读性。

一、命名
一切命名都要使其有意义

1 名字要自说明
变量、函数、类等的名称应当具备告诉你:它为什么存在、它做了什么事、应该怎么用、等。

【如果名称需要注释来说明,需考虑是否更换名字】

意义不够的变量命名,带来阅读的困难度

// 不清晰的变量命名
public List getThem() {
    List list1 = new Array();
    for(int[] x: theList) {
        if(x[0] == 4) {
            list1.add(x)
        }
    }
   return list1
}
// 有意义的变量命名
public List getFlaggedCells() {
    List flaggedCells = new Array()
    for(int[] cell: gameBorad){
        if(cell[STATUS_VALUE] == FLAGGED) {
            flaggedCells.add(cell)
        }
    }
    return flaggedCells
}
// 适当的封装提升逻辑清晰度
public List getFlaggedCells() {
    List flaggedCells = new Array()
    for(int[] cell: gameBorad){
        if(cell.isFlagged()) {  // 判断使用函数封装
            flaggedCells.add(cell)
        }
    }
    return flaggedCells
}

2 使用读得出来的名称
以一个记录日期的类为例,该类的变量记录不同的时间

// 修改前
class DatRcd02 {
     Date genymdhms
     Date modymdhms;
     String pazqint = '102'
}
 
// 修改后
class Customer {
 Date generationTimestamp;
 Date modificationTimestamp;
 String recordId = '102'
}

3 有意义的数字或字符串字面值,用枚举/常量/变量/函数封装

switch (userStatus){
     case 101:
     case 100:
     case 200:
}
 
// 封装后
const USER_STATUS = {
    LOGGED: 100,
    INVALID: 101,
    DELETED: 200,
}
// 使用
if(userStatus == USER_STATUS.LOGGED){}

4 类名或对象名应该是名词或名词短语
Customer, WikiPage, AddressParser

5 方法名应当是动词或动词短语
deletePage, getCustomerAddress

6 善用行业名词

二、函数

设计原则

  1. 短小
  2. 只做一件事
    3/ 描述功能的名字

逻辑原则
写代码像写文章一样,能顺利通畅的表达思路

  1. 自顶而下设计
    让代码读起来像是一系列自项向下的TO起头段落是保持抽象层级协调一致的有效技巧。


    image.png
  2. 函数内语句在同一个抽象层级上

function reloadData() {
    this.total = 0;
    this.name = '';
    this.tip: '';
  
    const responseData = await api.getOrders(this.userId)
    if(responseData){
        this.name = responseData.name
        this.tip = responseData.tip
        reponseData.list.forEach(order => this.total += order.total)
    }
}
 
// 抽象后
function reloadData() {
     this.resetData()
     this.loadData()
}
  
function resetData() {
  this.total = 0;
    this.name = '';
    this.tip: '';
}
  
funtion loadData() {
    const responseData = await api.getOrders(this.userId)
    if(responseData){
        this.name = responseData.name
        this.tip = responseData.tip
        reponseData.list.forEach(order => this.total += order.total)
    }
}

参考地址: 《代码整洁之道》

相关文章

  • JS代码优化浅谈

    本文主要介绍一下如何让代码整洁可读的几点建议,总体是为了让代码逻辑及结构更加清晰,增加可读性。 一、命名一切命名都...

  • 7. 执行效率问题

    参考文章浅谈代码的执行效率(4):汇编优化

  • react_16Hooks_二(代码优化与第三方库使用)

    中 接上一篇优化home.js与about.js中的代码: 优化后about.js 优化后home.js与abou...

  • 浅谈代码优化

    文章结构 实例 首先引入一个代码优化的实例,请参读以下代码: 代码格式整齐,变量和函数名命名规范,可以从第一眼看下...

  • JS性能优化 —— JS代码优化

    目录 性能测试工具的介绍使用流程 JS代码优化慎用全局变量缓存全局变量通过原型新增方法避开闭包陷阱避免属性访问方法...

  • 优化Javascript代码性能

    优化JS代码性能 优化循环 我们来看一段段代码 这段代码循环footballTeam中的members数组,然后打...

  • 优化js代码

    1.定义一个变量时,要使用 var 关键字。变量没有声明而直接赋值得话,默认会作为一个新的全局变量,要尽量避免使用...

  • JS代码优化

    加载(js/jq) 1.尽量将JavaScript和jQuery代码放到页面底部。 2.兼容IE6 7 8 不要用...

  • js 代码优化

    一. Map 优化代码 当 type =1 时,需要转换成 '身份证'当 type =2 时,需要转换成 '驾驶...

  • Js代码优化

    变量:1、变量数量的定义:数据只使用一次 或 不使用就无须放到变量中2、变量的命名:无需对每个变量都写注释,从名字...

网友评论

      本文标题:JS代码优化浅谈

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