Dojo Style Javascript 编程规范

作者:feelinglucky 来源:google 时间:2007-10-25 17:24:00 

前言

相当不错的 Javascript 编程风格规范,建议大家采用此规范编写 Javascript。原文链接: http://dojotoolkit.org/developer/StyleGuide

翻译(Translated by):feelinglucky{at}gmail.com,转载请注明出处、作者和翻译者,谢谢配合。

来源地址: http://code.google.com/p/grace/wiki/DojoStyle

Any violation to this guide is allowed if it enhances readability.

所有的代码都要变成可供他人容易阅读的。

快读参考

核心 API 请使用下面的风格:


结构 规则 注释
模块小写不要使用多重语义(Never multiple words)
骆驼
公有方法混合其他的外部调用也可以使用 lower_case(),这样的风格
公有变量混合
常量骆驼 或 大写


下面的虽然不是必要的,但建议使用:


结构 规则
私有方法混合,例子:_mixedCase
私有变量混合,例子:_mixedCase
方法(method)参数混合,例子:_mixedCase, mixedCase
本地(local)变量混合,例子:_mixedCase, mixedCase


命名规范

  1. 变量名称 必须为 小写字母。

  2. 类的命名使用骆驼命名规则,例如: Account, EventHandler

  3. 常量 必须 在对象(类)或者枚举变量的前部声明。枚举变量的命名必须要有实际的意义,并且其成员 必须 使用骆驼命名规则或使用大写: var NodeTypes = {
        Element : 1,
        DOCUMENT: 2
    }

  4. 简写单词 不能使用 大写名称作为变量名: getInnerHtml(), getXml(), XmlDocument

  5. 方法的命令 必须 为动词或者是动词短语: obj.getSomeValue()

  6. 公有类的命名 必须 使用混合名称(mixedCase)命名。

  7. CSS 变量的命名 必须 使用其对应的相同的公共类变量。

  8. 私有类的变量属性成员 必须 使用混合名称(mixedCase)命名,并前面下下划线(_)。例如: var MyClass = function(){
       var _buffer;
       this.doSomething = function(){
       };
    }

  9. 变量如果设置为私有,则前面 必须 添加下划线。 this._somePrivateVariable = statement;

  10. 通用的变量 必须 使用与其名字一致的类型名称: setTopic(topic) // 变量 topic 为 Topic 类型的变量

  11. 所有的变量名 必须 使用英文名称。

  12. 变量如有较广的作用域(large scope),必须使用全局变量;此时可以设计成一个类的成员。相对的如作用域较小或为私有变量则使用简洁的单词命名。

  13. 如果变量有其隐含的返回值,则避免使用其相似的方法: getHandler(); // 避免使用 getEventHandler()

  14. 公有变量必须清楚的表达其自身的属性,避免字义含糊不清,例如: MouseEventHandler,而非 MseEvtHdlr。

    请再次注意这条规定,这样做得的好处是非常明显的。它能明确的表达表达式所定义的含义。例如: dojo.events.mouse.Handler // 而非 dojo.events.mouse.MouseEventHandler
  15. 类/构造函数 可以使用 扩展其基类的名称命名,这样可以正确、迅速的找到其基类的名称: EventHandler
    UIEventHandler
    MouseEventHandler

    基类可以在明确描述其属性的前提下,缩减其命名: MouseEventHandler as opposed to MouseUIEventHandler.

特殊命名规范

  1. 术语 "get/set" 不要和一个字段相连,除非它被定义为私有变量。

  2. 前面加 "is" 的变量名 应该 为布尔值,同理可以为 "has", "can" 或者 "should"。

  3. 术语 "compute" 作为变量名应为已经计算完成的变量。

  4. 术语 "find" 作为变量名应为已经查找完成的变量。

  5. 术语 "initialize" 或者 "init" 作为变量名应为已经实例化(初始化)完成的类或者其他类型的变量。

  6. UI (用户界面)控制变量应在名称后加控制类型,例如: leftComboBox, TopScrollPane。

  7. 复数必须有其公共的名称约定(原文:Plural form MUST be used to name collections)。

  8. 带有 "num" 或者 "count" 开头的变量名约定为数字(对象)。

  9. 重复变量建议使用 "i", "j", "k" (依次类推)等名称的变量。

  10. 补充用语必须使用补充词,例如: get/set, add/remove, create/destroy, start/stop, insert/delete, begin/end, etc.

  11. 能缩写的名称尽量使用缩写。

  12. 避免产生歧义的布尔变量名称,例如: isNotError, isNotFound 为非法

  13. 错误类建议在变量名称后加上 "Exception" 或者 "Error"。

  14. 方法如果返回一个类,则应该在名称上说明返回什么;如果是一个过程,则应该说明做了什么。

标签:Dojo,DojoStyle,规范,编程,Javascript
0
投稿

猜你喜欢

  • Python中文分词实现方法(安装pymmseg)

    2023-12-06 02:43:41
  • 浅谈Django学习migrate和makemigrations的差别

    2021-05-11 03:36:11
  • 分享8 个常用pandas的 index设置

    2023-10-24 14:22:13
  • Python PyQt5运行程序把输出信息展示到GUI图形界面上

    2021-02-08 22:41:59
  • Django分页功能的实现代码详解

    2022-09-27 01:12:08
  • python实现五子棋算法

    2022-12-22 18:53:15
  • python实现图片,视频人脸识别(dlib版)

    2023-03-28 14:35:19
  • Go语言基础go install命令使用示例详解

    2024-04-26 17:25:48
  • PyTorch使用GPU训练的两种方法实例

    2023-09-21 08:11:40
  • Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解

    2024-05-22 10:31:00
  • 编写一个JS组件来说说call和apply的用法

    2008-11-23 17:11:00
  • Python实现base64编码的图片保存到本地功能示例

    2024-01-01 22:58:03
  • Flask之请求钩子的实现

    2023-06-27 10:43:59
  • 通俗易懂了解Python装饰器原理

    2021-07-18 13:48:20
  • asp access数据库并生成XML文件范例

    2011-03-29 10:49:00
  • Python爬取腾讯视频评论的思路详解

    2021-05-30 23:04:43
  • 利用Python将社交网络进行可视化

    2022-12-18 07:07:15
  • Yahoo!网站性能最佳体验的34条黄金守则——JavaScript和CSS

    2008-05-29 13:34:00
  • MySQL8.0.21安装步骤及出现问题解决方案

    2024-01-22 20:43:44
  • Vue不能检测到Object/Array更新的情况的解决

    2024-05-09 15:14:32
  • asp之家 网络编程 m.aspxhome.com