关于缩进 - 图1 - 文档首页
-
- 数据服务
- Android SDK
- iOS SDK
- 小程序
- Cocos2D-X
- C# SDK
- GO
- JavaScript
- PHP
- RESTful
-
- 云函数
- Android SDK
- iOS SDK
- Java 云函数
- JavaScript
- C#
- PHP
- RESTful
- Web
-
- 支付服务
- Android SDK
- iOS SDK
- RESTful
-
- 短信服务
- Android SDK
- iOS SDK
- JavaScript
- PHP
- RESTful
-
- IM服务
- Android SDK
- iOS SDK
-
- 推送服务
- Android SDK
- iOS SDK
- JavaScript
- PHP
- RESTful
-
- 其他
- 常见问题
- 错误码
- 数据安全
- BQL
- 知识库
- 下载
- 搜索
Web - 快速入门
- 开发文档
- 定时任务
- 微信云函数
- 编码规范
- 关于缩进
- 关于空格
- 关于命名
- 关于双等号
- 关于双引号
- 关于大括号位置
- 关于字面表达式的问题
- Object和Array创建时的逗号问题
- 避免使用with与eval
- 关于for-in循环
- 关于Array数组的问题
- 关于变量声明
- 注释规范
好的编码规范是攻城师们要遵循的法则,Bmob云函数希望大家能够养成良好的编码规范。Nodejs的编码规范与其他语言稍微有所不同,这里列举有所区别的地方。 ## 关于缩进 缩进,2个space,tab要转为2 space。这是Nodejs源码和module采用的标准,希望大家入乡随俗。 ## 关于空格 function关键词和函数名之间有一个空格;调用函数时,函数名和左括号之间没有空格。
  1. // 正确
  2. function foo(bar) {…}
  3. foo(bar);
  4. foo(function callback(err, data) {…});
  5. foo(function (err, data) {…});
  6. // 错误
  7. function foo (bar) {…}
  8. foo (bar);
  9. foo(function callback (err, data) {…});
  10. foo(function(err, data) {…});
所有其他语法元素与左括号之间,都有一个空格。
  1. // 正确
  2. return (a + b);
  3. if (a === 0) {…}
  4. for (var k in map) {…}
  5. while (i > 0) {…}
  6. // 错误
  7. return(a + b);
  8. if(a === 0) {…}
  9. for(var k in map) {…}
  10. while(i > 0) {…}
操作符号与参数之间有一个空格;能提高阅读性的空格不能省略。
  1. // 正确
  2. var a = 1 + 2;
  3. for (var i = 0, l = items.length; i < l; i++) {…}
  4. //错误
  5. var a=1+2;
  6. for(var i=0,l=items.length;i<l;i++){…}
## 关于命名 好的变量与函数命名,可以避免大量的注释。Nodejs推荐使用驼峰式命名:
  1. 函数和变量:functionNamesLikeThis, variableNamesLikeThis
  2. 类名和枚举类型:ClassNamesLikeThis, EnumNamesLikeThis
  3. 类方法:methodNamesLikeThis
  4. 常量:SYMBOLIC_CONSTANTS_LIKE_THIS
## 关于双等号 开发的时候大家请慎重使用==号,有时候结果未必会是您想的那样,请看下面的调试计算结果:
  1. > 0 == ''
  2. true
  3. > 1 == true
  4. true
  5. > 2 == true
  6. false
  7. > 0 == '0'
  8. true
  9. > false == 'false'
  10. false
  11. > false == '0'
  12. true
  13. > " \t\r\n " == 0
  14. true
## 关于双引号 使用string时,用单引号替代双引号(写JSON时除外)。
  1. //正确
  2. var foo = 'bar';
  3. //错误
  4. var foo = "bar";
## 关于大括号位置
  1. //正确
  2. if (true) {
  3. response.end('winning');
  4. }
  5. //错误
  6. if (true)
  7. {
  8. response.end ('losing');
  9. }
## 关于字面表达式的问题 使用字面表达式,用 '{}' ,'[]' 代替 new Array ,new Object,不要使用 string,bool,number 的对象类型,即不要调用 new String ,new Boolean ,new Number。 ## Object和Array创建时的逗号问题 Object ,Array 创建,当有多个元素时,注意分行排列时逗号的位置。
  1. //正确
  2. var a = ['hello', 'world'];
  3. var b = {
  4. good: 'code',
  5. 'is generally': 'pretty',
  6. };
  7. //错误
  8. var a = [
  9. 'hello', 'world'
  10. ];
  11. var b = {"good": 'code'
  12. , is generally: 'pretty'
  13. };
## 避免使用with与eval ## 关于for-in循环 for-in 循环,仅在 object/hash/map 时使用,绝不要对Array 使用。 ## 关于Array数组的问题 不要把Array 当做关联数组或Object 使用,即你不应该用非数字作为Array 的索引(有PHP开发经验的朋友尤其注意这点)。
  1. //正确
  2. var a = {};
  3. a.hello = 'shit';
  4. a.foo = 'bar';
  5. //错误
  6. var a = []; // use '{}' instead
  7. a['hello'] = 'shit';
  8. a['foo'] = 'bar';
## 关于变量声明 变量声明时,应该每行声明一个,不应该都写在一行。
  1. //正确
  2. var name = 'bmob';
  3. var website = 'www.bmob.cn';
  4. //错误
  5. var name = 'bmob'
  6. ,website = 'www.bmob.cn';
## 注释规范 注释的规范如下所示:
  1. /*
  2. 获取文章列表
  3. @param {number} num 文章数量.
  4. @param {string|date|null} dateTime 发布时间.
  5. */
  6. var getPosts = function (num, dateTime) {
  7. // …
  8. };
Copyright © 2017 Bmob, Maintained by the Bmob Support.

搜索

请输入您要搜索的内容

Keyboard Shortcuts

Keys Action
? Open this help
Previous page
Next page
s Search

[返回

旧版](https://docs.bmob.cn/data/Android/a_faststart/doc/index.html)