• 代码整洁之道——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.') {
      // ...
    }
  • 相关阅读:
    2016.11.21随笔
    2016.11.19随笔
    年月日
    导航position:absolute
    360搜索(边框)
    导航代码position:relative
    邮箱注册代码
    2016.11.18随笔
    2016.11.17随笔
    个人简历网页版代码
  • 原文地址:https://www.cnblogs.com/xxchi/p/7207612.html
Copyright © 2020-2023  润新知