《编写可维护的JavaScript》——第一章:基本的格式化


检查编程风格的工具:JSLint 和 JSHint

1.1 缩进层级

坚持使用适度的缩进,有助于代码的阅读(区分代码块…)

使用制表符进行缩进

优点

  • 制表符与缩进层级之间是一对一的关系
  • 可以通过文本编辑器配置制表符的展现长度

缺点:

  • 系统对制表符的解释不一样

使用空格进行缩进

在不同的风格指南中,一个缩进层级对应的空格数量也是不定的。

只是,推荐使用4个空格字符为一个缩进层级,这样的视觉展现优于两个空格字符

注意:尽管选择制表符还是选择空格做缩进只是一种个人偏好,但是绝对不要将两者混用。这样会导致文件的格式很糟糕,而且还要做不少清理工作

1.2 语句结尾

JS的语句要么是独占一行,要么以分号结尾。

分析器的自动分号插入机制(ASI)会自动插入分号,所以JS代码省略分号也是可以正常工作的。ASI在大多树场景下都会正确插入分号,但是它的插入规则非常复杂,不建议省略分号,指不定什么时候就会出错。

function getData(){
    return 
        {
            name:"FengBuJue"
        }
    }
    //分析器会理解为
    
    function getData(){
        
        return ;
        {
            name:"FengBuJue"
        }
    }

1.3 行的长度

如果一行代码太长,编辑窗口都出现了横向滚动条,会很别扭。

很多编辑器规定代码单行长度不超过80个字符,JS也建议如此

1.4 换行

一行代码长度达到单行最大字符限制的时候,需要将一行拆成两行。

通常在运算符后换行,下一行会增加两个层级的缩进

adfadfadfasdfadf “FengBuJue”,“Baizhantang”,
         “lihuamao”;

这个规则有个例外:当变量赋值时,第二行的位置应当和赋值运算符的位置保持对齐

a = b + c + 
    d;

1.5 空行

有时候一段代码的语义和另一段代码不想关,应该使用空行将其分隔,确保语义有关联的代码展现在一起

if(a<b){
    for(var i = 0;i<123;i++){
        console.log("data"+i);        
    }
}

if(a<b){
//在这里添加空行
    for(var i = 0;i<123;i++){
     //在这里添加空行
        console.log("data"+i);        
    }
}

一般空行的添加位置:

  • 在方法之间
  • 在方法中的局部变量和第一条语句之间
  • 在多行或单行注释之前
  • 在方法内的逻辑片断之间插入空行,提高可读性

1.6 命名

计算机科学只存在两个难题:缓存失败和命名 ———“Phil Karlton”

JS语言的核心ECMAScript,遵照了驼峰命名。

  • 大驼峰:大写字母开始,后续每个单词首字母大写
  • 小驼峰:由小写字母开始,后续每个单词首字母大写

匈牙利命名:
名字之前冠以类型标识符前缀。比如sName,表示字符串。当前主流编程规范不推荐这种命名法

1.6.1 变量和函数

  • 变量名应总是遵循(小)驼峰命名法。
  • 变量名以名词作为前缀。例: var count = 12; 错误:var getCount = 12
  • 函数名以动词作为前缀。例: var getNum = function(){} 错误: var theName = function(){};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值