编写可维护的JavaScript学习笔记(一)

编写可维护的JavaScript读书笔记

编程风格

基本格式化

  • 不要同时混用制表符和空格
  • 不依赖分析器的自动插入分号,不要省略分号
  • 行的长度限定在80个字符内
  • 长度到达单行最大程度换行
    • 第二行增加两个层级的缩进
    • 在运算符之后换行
    • 给变量赋值时,第二行的位置和赋值运算符保持一致
  • 添加空行
    • 方法之间
    • 方法中的局部变量和第一条语句之间
    • 多行或单行注释之前
    • 方法内的逻辑片段之间插入空行,提高可读性
    • 谨慎使用空行
  • 命名
    • 遵循驼峰格式
    • 变量名前缀应是名词
    • 变量名体现数据类型
      • count, length, size表示数据类型是数字
      • name, title, message表示数据类型是字符串
      • i, j, k用于循环
    • 避免没有意义的命名,如foo, tmp, bar
    • 函数名前缀应使用动词
      • can, has, is返回布尔值
      • get返回非布尔值
      • set用来设置保存一个值
    • 用大写字母加下划线命名常量, MAX_COUNT
    • 构造函数采用大写字母开始的驼峰格式
  • 直接量
    • 字符串引号
      • 从头到尾保持风格一致
      • 内部出现字符串界定符要注意转义
      • 多行字符串要用+连接
    • 数字
      • 小数不推荐没有整数部分或小数部分,容易引起阅读者的歧义
      • 不使用八进制直接量,010
    • null
      • 不要用null来检测是否传入某个参数
      • 不要用null来检测一个未初始化的变量
    • 使用 {} ,[]来创建对象和数组

注释

  • 单行注释 //
    • 独占一行时,注释前加一个空行,且缩进和下一行代码保持一致
    • 代码行尾部注释时,至少保持一个缩进,超长时,应将其置于代码行上方
    • 用于注释大段代码,采用/**/注释代码时容易和正则表达式混淆
  • 多行注释 /**/
    • 注释风格与java一致,至少三行,/**/各占一行,其他行一*开头
    • 用于注释大段文本
    • 其他规则与单行注释相同
  • 让代码更清晰时添加注释
    • 用于难以理解的代码
    • 修改错误时,让修给有迹可循
    • 浏览器特Hack
    • 文档注释

语句和表达式

  • 避免使用将左括号置于块语句首行的下一行,如Visual Studio强制使用的对其格式,容易导致错误的分号自动插入
  • switch
    • caseswitch保持相同的缩进
    • 在省略break时要添加特意的说明注释
    • 在没有default时,要添加注释
  • 避免使用continue语句,而改用条件语句
  • 出保函遍历原型链,在for-in遍历时,都应该加上hasOwnProperty()判断

变量、函数和运算符

  • 变量声明
    • 将局部变量定义作为函数内部第一条语句,符合变量提升
    • 使用单个var
    • 每个变量独占一行
  • 函数声明
    • 函数声明应在函数调用之前,符合函数提升
    • 函数内部的局部函数应该紧跟在变量声明之后
    • 函数声明不应该出现在语句块之内
  • 立即执行函数用()括起来,将强阅读性
  • 避免在全局使用use strict,当多个函数使用use strict时,可采用立即执行方案
  • 使用===!==来代替==!=
  • 谨慎使用eval()
  • 避免使用原始包装类型,即使用String, Number, Boolean来创建对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值