代码规范、赋值、封装、命名规范、错误排查法

244 阅读2分钟

代码规范

代码规范作用:消除冗余 规范
清晰
简洁
格式化 
去除打印信息 
调试信息 

注释:

原注释:

// step1:第一行
xxx1
// step2:第二行
xxx2
// step3:第三行
xxx3

规范后注释(空格间距一样,步骤完整):

/**
 * step1:第一行
 * step2:第二行
 * step2:第二行
 */
 
 // step1
 xxx1
 // step2
 xxx2
 // step3
 xxx3

打印信息:

let xxx1='1'
//发布前去掉 todo remove
console.dir(xxx1)    

let const使用

let声明的是变量
const声明的是常量,只读,修改值会报错
const保存的是内存地址,可以给对象或数组添加属性或元素,但是不能重新复写

赋值

c语言中
a=10 常量赋值给变量为true  
10=a 变量不能赋值给常量为false
if(a=10) //true   答案为false
if(10=a) //false  答案为false

所以规范为 常量 === 变量 
例子:
if(flag==5) 当少写一个=,变成flag=5,会变成死循环,编译器不会报错。
if(5==flag) 此时若少写一个=,变成5=flag,编译器会报错。
例子来源链接找不到了,可联系添加链接

封装

封装公共函数、公共工具
封装了 值非空非undefined
const isNullOrUndefined = (value) => {
    return null === value || undefined === value;
};

命名规范

1、命名不用太精细,可以广泛些,可以被复用
2、不要重复定义词义相近的词
3、不是所有常量都需要抽离,只将公用的抽离出来,方便复用

命名规则:
    on+动词
        onClick
        onChange 
        
    handle+名词+动词 (input,search等组件)
        handleXxxClick
        handleXXXChange   
    
    is+名词+动词
    Boolean              isXXX   
    函数命名(非handle)     动词+名词 (createNewGoods->createGoods)
    变量:定义常量          变量语义化 (goodName 商品名)
    

常用标签

div a  span img 

错误排查法

 对比法:找差别
 二分法:删除部分代码
 直觉法
 找规律:通过线索找规律 (看日志)
    
 结合推理、假设、验证