代码简写
代码编写的基础前提
代码的编写应该以以下优先度进行编写
- 可读性 > 壯健性 > 扩展性
这是一个死规矩,除非以后出现AI自动理解代码和修复代码,否则这就铁则。
可读性
这是最基本,也是最最最基础的一个规定,如果自己写的代码自己都看不懂,又或者自己每次理解以前的代码需要更新迭代是,都要花上15分钟以上去重新理解代码结构了函数功能,又或者因为没有注释在长达1000行的代码海洋中迷失,那么这个段代码或者说这个项目就是一个可读性很差的项目。
个人总结:
- 在通过明确的函数命名或者变量命名就能大概理解整段代码的业务关系
- 每个函数,变量,对象等功能单元命名明确,可以通过命名直接或者配合少量注释直接明白改代码功能或者意义
- 在可能出现理解错误的地方均有明确注释提示
- 注释不是用来注明这是什么,而是用来解析这里为什么这么写
- 每个模块或者单独的代码文件尽量控制在舒适的行数,300~600根据语种而定,尽量做到解耦,或者按功能切割。
壯健性
代码处理错误的能力,如果一个模块丢失,或者数据库突然挂掉,又或者程序内存溢出,等等等遇到异常和错误的自处理能力
扩展性
在想增加功能的时候是否能足够方便和快捷
javascript 编写技巧
多条件if语句
// 可读性很差的直男写法
if (value === 1 || value === 'one' || value === 2 || value === 'two') {
// 业务代码
}
// 使用 indexOf
if ([1, 'one', 2, 'two'].indexOf(value) >= 0) {
// 业务代码
}
// ES6 使用 includes
if ([1, 'one', 2, 'two'].includes(value)) {
// 业务代码
}
单行箭头函数
//常规函数写法
function add(num1, num2) {
return num1 + num2;
}
//es6箭头函数写法
const add = (num1, num2) => num1 + num2;
交换两个变量
// 声明一个变量作为媒介用来转换
let x = 1, y = 2;
const temp = x;
x = y;
y = temp;
// js
[x, y] = [y, x];
// py
x,y = y,x