代码整洁之道——1、变量

原文:https://github.com/ryanmcdermott/clean-code-javascript#variables

目录

1、变量

2、函数

3、对象和数据结构

4、

5、SOLID原则(设计模式)

6、测试

7、并发

8、错误处理

9、格式化

10、注释

 

一、变量

1、使用可查找的名字

Bad:
// 86400000 是代表什么?什么意思?
setTimeout(blastOff, 86400000);

Good:
// 用const将其声明为一个常量
const MILLISECONDS_IN_A_DAY = 86400000;
setTimeout(blastOff, MILLISECONDS_IN_A_DAY);

2、使用解释性变量

Bad:
const address = 'One Infinite Loop, Cupertino 95014';
const cityZipCodeRegex = /^[^,\\]+[,\\\s]+(.+?)\s*(\d{5})?$/;
//正则匹配得到的两个参数代表什么
saveCityZipCode(address.match(cityZipCodeRegex)[1], address.match(cityZipCodeRegex)[2]);

Good:
//两个参数代表城市和邮编
const address = 'One Infinite Loop, Cupertino 95014';
const cityZipCodeRegex = /^[^,\\]+[,\\\s]+(.+?)\s*(\d{5})?$/;
const [, city, zipCode] = address.match(cityZipCodeRegex) || [];
saveCityZipCode(city, zipCode);

3、避免心理映射,即避免缩写

Bad:
const locations = ['Austin', 'New York', 'San Francisco'];
//用l做参数
locations.forEach((l) => {
  doStuff();
  doSomeOtherStuff();
  // ...
  // ...
  // ...
  // l 是什么?
  dispatch(l);
});
Good: const locations
= ['Austin', 'New York', 'San Francisco'];
//使用全拼location locations.forEach((location)
=> { doStuff(); doSomeOtherStuff(); // ... // ... // ... dispatch(location); });

4、避免重复描述  如果对象或者类名已经告诉了一些信息,这些信息不要在内部变量中重复命名

Bad:
//声明了一个Car对象,内部再次命名carMake等
const Car = {
  carMake: 'Honda',
  carModel: 'Accord',
  carColor: 'Blue'
};

function paintCar(car) {
    //一看就重复了
  car.carColor = 'Red';
}

Good:
//声明了一个car对象,则它的color、make等都是属于car的,无需重复声明
const Car = {
  make: 'Honda',
  model: 'Accord',
  color: 'Blue'
};

function paintCar(car) {
  car.color = 'Red';
}

5、使用默认参数,避免使用之前的短路或者是条件赋默认值

注意:默认参数仅仅会对undefined的参数进行默认赋值。其他转义后的false值如‘’,“”,false,null,0,和NaN 都不会被默认参数替换。

Bad:
function createMicrobrewery(name) {
    //条件写法如果name 是false则给到默认值Hipster Brew Co
  const breweryName = name || 'Hipster Brew Co.';
  // ...
}

Good:
function createMicrobrewery(breweryName = 'Hipster Brew Co.') {
  // ...
}

 

posted on 2017-07-19 19:58  小小驰  阅读(281)  评论(0编辑  收藏  举报