201505061055_《Javascript编码规范笔记》

一.前言。浏览器端编程的行为规范。typescript也尽量遵循该规则。

二.代码风格。

   2.1  BOMUTF-8 编码;

   2.2  文件结尾处加一空行;

   2.2  使用 4 个空格做为一个缩进层级

   2.3   二元运算符两侧必须有一个空格,一元运算符与操作对象之间不允许有空格

   2.4  左花括号必须有一个空格;

   2.5  关键词后必须有一个空格;

   2.6  在对象创建时,属性中的 : 之后必须有空格,: 之前不允许有空格;

   2.7  函数名形参后的“(”不能有空格;

  2.8  ()和[]内不允许有空格;

  2.9  每行不得超过 120 个字符;

  3.0  运算符处换行时,运算符必须在新行的行首;

  3.1 不同行为或逻辑的语句集,使用空行隔开,更易阅读;

  3.2  将“){”放在一行;

  3.3 数组和对象初始化的混用,严格按照每个对象的 { 和结束 } 在独立一行的风格书写。

       如:var array=[

              {

               //doSomething...

               },

               {

               //doSomething...

              }

          ];

  3.4  对于 if...else...try...catch...finally 等语句,推荐使用在尾 } 号后添加一个换行 的风格

     if (condition) {

           //doSomething...

     }

     else {

          //doSomething...

     };

  3.5  函数定义结束不允许添加分号

        例如: function () {

                //dosometing

                 }

三.命名

 3.1  变量 使用 Camel命名法

 3.2  常量 使用 全部字母大写,单词间下划线分隔 的命名方式;

 3.3  使用 Pstringascal命名法; 例如:CatClass;

 3.4  枚举变量 使用 Pascal命名法枚举的属性 使用 全部字母大写,单词间下划线分隔 的命名方式;

 3.5  命名空间 使用 Camel命名法;

 3.6  类名 使用 名词;

 3.7  函数名 使用 动宾短语;

 3.8  boolean 类型的变量使用 ishas 开头;

 3.9 Promise对象动宾短语的“进行时”表达;

四.注释

 4.1  // 后跟一个空格;

 4.2  文档注释前必须空一行;

 4.3  文档说明 what,而不是 how;

 4.4  {Array<string>}  string类型的数组;

       {(number|boolean)} 多类型;

       {?number}   允许为Null;

       {!Object}     不允许为Null;

       {function(number, boolean):string} 函数, 形参, 返回值类型;

       @param {string=} name  可选参数, =为类型后缀;

       @param {...number} args   变长参数, ...为类型前缀;

      {*}  任意类型;

       @param {*=} name  可选任意类型;

       @param {...*} args  变长任意类型;

 4.5  文件顶部必须包含文件注释,用 @file和@author等 标识文件说明;

 4.6  使用 @extends 标记类的继承信息;

4.7  // null 或 undefined

     // good
   if (noValue == null) {
     // ......
    }

五.

前端-语言
原文地址:https://www.cnblogs.com/beesky520/p/4481730.html