码迷,mamicode.com
首页 > Web开发 > 详细

编写可维护的js代码-编程风格笔记

时间:2015-06-14 09:33:12      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:编程风格   js   

1、基本格式化

  • 缩进层级:4个空格(把tab设成4个空格)
  • 语句结尾:保留;(虽然分析器有自动分号插入机制)
  • 行的长度:80个字符
  • 空行:确保语义有关联的代码展现在一起
  • 命名:变量和函数遵循小驼峰命名法,小写字母开始,后面每个单词首字母大写
    变量命名前缀名词myName
    函数命名前缀动词setName()
    常量MAX_COUNT大写字母和下划线
    构造函数大驼峰命名法AnotherName
  • 直接量:
    字符串:推荐” “,虽然和’ ‘一样
    整数和浮点数:8进制废弃
    null:空对象指针
    初始化一个变量,这个变量可能赋值为一个对象
    和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象
    函数的参数期望是对象时,用作参数传入
    函数返回值期望是对象时,用作返回值传出
    不要用null检测是否传入某个参数
    不要用null检测未初始化的变量
    undefined:var声明但未初始化,尽量不使用undefined,使用var person=null;
    对象:建议使用对象直接量,在直接量中直接写出所有属性;而非显式创建实例然后添加属性的做法。
var book={
    title:"js book",
    author:"wang"
};

数组直接量:

var numbers={1,2,3,4};

2、注释

  • 单行注释:
//好的写法
if (condition) {

    //注释
    allowed();
}

注释前有空行。
代码尾部注释,代码结束到注释间至少有一个缩进。

  • 多行注释:推荐java风格
if (condition){

/*
 * 注释
 * 注释
 */
 allowed();

注释之上有空行
*号之后有空格

难于理解的代码,可能被误认为错误的代码,hack推荐添加注释
方法,构造函数,包含文档化方法的对象推荐加文档注释

3、语句和表达式

  • 块语句推荐使用{}包裹
    if for while do…while try…catch…finally

  • {}推荐使用java风格

if (condition) {
    doSomething();
} else {
    doSomethingElse();
}
  • switch语句
switch(condition) {
    case "first":
        //代码
        break;

    case "second":
    case "third":
        //代码
        break;
    case "fourth":
        //代码
        break;

    //没有default

每条case语句相对于switch缩进一个层级
第二条case语句开始,每条case语句前后各有一个空行
case语句连续执行紧邻
defau语句不用时注释

  • with语句:避免使用
  • for循环:中断,continue ,break,经常遍历数组成员
  • for-in循环:遍历对象属性,返回属性名,不能遍历数组成员

4、变量函数和运算符
js编程的本质是编写一个个函数来完成任务,好像js即可以面向对象,又可以面向过程,还可以函数式编程。

  • 变量声明:变量的声明提前,函数内部任意地方定义变量和在函数顶部定义变量是完全一样的,但推荐都放在顶部
  • 函数声明:同样函数声明也会提前
    推荐函数声明在使用前
    函数声明不推荐在语句块内
    内部局部函数声明建议紧跟变量声明之后
  • 匿名函数,推荐函数声明被()包裹
var value = (function() {
    //

    return {
        message: "hi"
    }
}());
  • 推荐局部使用严格模式
  • 强制类型转换:== !=会强制类型转换,推荐=== !==
  • eval() 将传入的字符串当代码来执行,禁止在封闭的作用域中使用它创建新变量和函数
  • 原始包类型:String,Boolean,Number,每种类型代替全局作用域中的一个构造函数,并对应原始值的对象,原始包类型主要是让原始值具有对象般的行为。String是字符串,是原始类型,可以使用方法,原因是方法调用时建立新的实例,但使用后新实例销毁了。
  • 不推荐手动创建这些对象
var name=new String("wang"); //不推荐

编写可维护的js代码-编程风格笔记

标签:编程风格   js   

原文地址:http://blog.csdn.net/wojiong132/article/details/46486385

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!