欢迎光临
我的个人博客网站

第一章 代码基本的格式化


基本的格式化

第一章 基本的格式化

缩进层级

  • 制表符缩进

    优点:

    制表符和缩进层级之间是一对一的关系

    文本编辑器可以配置制表符的展现长度(通常是一个制表符长度相当于4个字符)

    缺点:

    系统对制表符的解释不一致,导致代码展现不统一

  • 空格缩进

    一般有三种 2 / 4 / 8

    一般推荐为 4

语句结尾

  • 语句一定要以;结尾,不要依赖ASI(Automatic Semicolon Insertion)自动插入分号

行的长度

  • 推荐长度不超过80个字符

换行

  • 在运算符后换行(当有一个运算符在行尾的话,ASI就不会自动插入;)

  • 第二行追加4 / 2个缩进(缩进为4)

// 好的做法 say("测试一下个",element , window, "some string value", 		123) 

这里的,也是运算符,应该在前一行的行尾

规则例外

当给变量赋值时,第二行的位置应当和赋值运算符位置保持对齐

var result = something + otherInfo + '这个晒撒很啊是激动啊' + '睡觉啊快点撒啊大姐' +    			 someResult 

命名

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

  • 小驼峰式大小写命名法(首字母小写, 后面每个单词首字母大写)

  • 匈牙利命名法(名字之前冠以类型标识符前缀),2000年盛行, 现在已经少见了

    sName: s(String) + Name(变量意思)

    iCount: i(Integer) + Count(变量意思)

变量与函数

  • 变量名名词作为前缀,可以和函数作为区分

  • 函数名动词作为前缀

  • 尽量短,并抓住要点

常用的约定
动词 含义
can 函数返回一个布尔值
has 函数返回一个布尔值
is 函数返回一个布尔值
get 函数返回一个非布尔值
set 函数用来保存一个值

常量

  • 大写字母 + 下划线(MAX_COUNT)

构造函数

  • 大驼峰式大小写命名法(每个单词首字母大写)

直接量

JavaScript中包含一些类型的原始值:字符串, 数字, 布尔值, null, undefined.同样还包含数组自接量和对象直接量

字符串

//合法 var name = "say "hello"";  //合法 var name = 'say "hello"'; 
字符串换行
  • 不推荐的写法

    var longString = "我哇就懂啊啥决定洒进你说地啊几哦的觉 送到家奇偶的撒娇哦多少级哦啊家的  啊圣诞节哦俺家大宋 撒娇哦多久哦" 
  • 推荐的写法

    var longString = "我哇就懂啊啥决定洒进你说地啊几哦的觉 送到家奇偶的撒娇哦多少级哦啊家的" +   				 "啊圣诞节哦俺家大宋 撒娇哦多久哦" 
  • 新的写法,模板字符串(还可以使用${}插入变量)

    var longString = `我哇就懂啊啥决定洒进你说地啊几哦的觉 送到家奇偶的撒娇哦多少级哦啊家的id还得hi 多 啊圣诞节哦俺家大宋 撒娇哦多久哦`; 

数字

// 整数写法 var count = 10;  // 小数 var price = 10.0; var price = 10.00;  //  不推荐的小数写法: 没有小数部分 var price = 10; //  不推荐的小数写法: 没有整数部分 var price = .1;  // 不推荐的写法: 八进制写法已经被弃用了 var num = 010;   // 十六进制 var num = 0xA2;  // 科学计数法 var num = 1e23  

null

null 是一个特殊值,但是我们常常误解它, 将它和undefined搞混.

下面的这些场景中我们应当使用null
  • 用来初始化一个变量, 这个变量可能赋值给一个对象
  • 用来和一个已经初始化的变量比较, 这个变量可以是也可以不是一个对象
  • 当函数的参数期望是对象时, 用作参数传入
  • 当函数返回值期望是对象时,用作返回值传出
下面的这些场景中我们不应当使用null
  • 不要使用null来检测是否传入了某个参数
  • 不要用null来检测一个未初始化的变量

理解null最好的方式将它当做对象的占位符(placeholder)

undefined

undefined是一个特殊值,我们常常将它和null搞混.其中一个颇为让人困惑之处在于null == undifined结果为true.然而这两个值的用途却各有不同.那些没有被初始化的变量都有一个初始值,即undefined,表示这个变量等待被赋值

// 不好的写法 var person; console.log(person === undefined)   // true   // 好的做法 var person = null;  console.log(person === null)   // true 

对象直接量

// 不好的写法 var book = new Object(); book.title = "测试"; book.author = "韩梅梅";  // 好的写法 var book = {     title : "测试",     author: "韩梅梅" } 

数组直接量

// 不好得写法 var book = new Array(1,2,3,4,5);  // 好的写法 var book = [1,2,3,4,5]; 
赞(0) 打赏
未经允许不得转载:张拓的天空 » 第一章 代码基本的格式化
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

专业的IT技术经验分享 更专业 更方便

联系我们本站主机

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏