加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 创业 > 模式 > 正文

EXTJS4官方文档翻译系列一:类系统和编码规范

发布时间:2018-11-02 04:10:02 所属栏目:模式 来源:站长网
导读:EXTJS4官方文档翻译系列一:类系统和编码规范,转载自《学而知不足》的技术博客,原文如下: 上个礼拜开始使用extjs4,之前都没用过ext,所以现在只好努力的看文档了,顺便记下来避免以后忘记.括号中内容是我自己添加的备注或者原文.英语比较烂,但不想一直烂
副标题[/!--empirenews.page--]

EXTJS4官方文档翻译系列一:类系统和编码规范,转载自《学而知不足》的技术博客,原文如下:

上个礼拜开始使用extjs4,之前都没用过ext,所以现在只好努力的看文档了,顺便记下来避免以后忘记.括号中内容是我自己添加的备注或者原文.英语比较烂,但不想一直烂,所以试着翻译,希望大家指能出错误的地方,英语好的建议看官方文档,不要被我误导了.

地址: http://docs.sencha.com/ext-js/4-0/#/guide/class_system

PS:上次说要翻译的一些titanium的文档,无奈后面太监了..没办法,工作用不上,业余时间要学工作的东西.titanium虽然喜欢,但是很久没去碰了.有机会继续吧..

ext4使用新的类机制进行了大量的重构,这在ext的历史上还是第一次!为了支撑新的架构,ext4几乎重写了每一个类,因此最好先好好的理解一下新的架构,再开始编码

本文适合想在extjs4中扩展现有类或者创建新类的开发者(注:其实想用ext4的都要看看).共分为4个部分:

第一部分:概述,说明了强大的类机制的必要性.

第二部分:编码规范,讨论类、方法、属性、变量和文件命名的最佳实践.

第三部分:动手,详细的编码示例.

第四部分:错误处理和调试,提供一些有用的调试和异常处理技巧

一,概述


ExtJS4拥有超过300个的类.迄今为止,我们的社区拥有超过20万来自世界各地,使用不同后台语言的开发者.要在这种规模的框架上提供具有以下特点的架构,需要面临巨大的挑战:

1,简单易学。2,快速开发、调试简单、部署容易。3,良好的结构、可扩展性和可维护性。

javascript是一种类无关(原文:classless)、基于原型的语言。因此javascript最强大的特点是灵活。同样的事情可以使用不同的方式,不同的编码风格和技巧去完成。这个特点也会带来一些不可预测的风险。如果没有统一的编码规范,javascript代码将很难理解、维护和复用。

相反的,基于类的编程语言拥有较为流行的面向对象模型,强类型、内建的封装机制和强制的编码约束等特点。通过强制开发人员遵守一些大的原则来使代码的行为更容易被理解,以及提高可扩展性(这里不明白,javascript这类动态语言不是更容易扩展么?)和可伸缩性。但是,这类语言没有javascript的灵活性。

二,命名约定


在所有类、命名空间(namespace)和文件名中使用一致的命名约定,有助于保持代码的良好结构和可读性。

1)类

类名只能包含字母和数字。允许包含数字,但是大部分情况下不建议使用,除非这些数字是专业术语的一部分。不要使用下划线,连字符等非数字字母符号。例如:

MyCompany.useful_util.Debug_Toolbar 不建议

MyCompany.util.Base64 合适的(虽然包含数字,但是数字是术语的一部分)

类名应该包含在使用点号分隔的命名空间中。至少,要有一个顶级命名空间。例如:

MyCompany.data.CoolProxyMyComp

MyCompany.data.CoolProxyMyCompa

顶级命名空间和实际的类名应使用驼峰命名(CamelCased),其他则为小写。例如:

MyCompany.form.action.AutoLoad

不是Sencha开发的类(即不是Ext自带的)不要使用Ext做为顶级命名空间。

缩写也要遵守以上的驼峰式命名约定。例如:

  • Ext.data.JsonProxy而不是Ext.data.JSONProxy
  • MyCompany.util.HtmlParser而不是MyCompary.parser.HTMLParser
  • MyCompany.server.Http而不是MyCompany.server.HTTP
  • 2)代码文件

    类名对应类所在的文件(包括文件名)。因此,每个文件应该只包含一个类(类名和文件名一样)。例如:

  • Ext.util.Observable 存储在 path/to/src/Ext/util/Observable.js
  • Ext.form.action.Submit 存储在 path/to/src/Ext/form/action/Submit.js
  • MyCompany.chart.axis.Numeric 存储在 path/to/src/MyCompany/chart/axis/Numeric.js
  • path/to/src 是你应用程序所在目录。所有类都应该在这个通用根目录下,并且使用适当的命名空间以利于开发、维护和部署。

    3)方法和变量

  • 和类命名一样,方法和变量也只能包含字母和数字。数字同样是允许但不建议,除非属于专业术语。不要使用下划线,连字符等任何非字母数字符号。

  • 方法和变量名一样使用驼峰式命名,缩写也一样。

  • 举例

    • 合适的方法名:

                        encodeUsingMd5() getHtml() 代替 getHTML()

                        getJsonResponse() 代替 getJSONResponse()

                        parseXmlContent() 代替parseXMLContent()

    • 合适的变量名:

                        var isGoodName

                        var base64Encoder

                        var xmlReader

                        var httpServer

  • 4)属性

  • 类属性名称遵循以上的变量和方法命名约定.除非是静态的常量.

  • 类的静态属性常量应该全部大写。例如:

    • Ext.MessageBox.YES = "Yes"
    • Ext.MessageBox.NO = "No"
    • MyCompany.alien.Math.PI = "4.13"
  • 三,动手实践

    1).声明

    1.1) 旧的方式

    如果你曾经使用过旧版本的extjs,那么你肯定熟悉使用Ext.extend来创建一个类:

       1: varMyWindow=Ext.extend(Object,{...});

     

     

     

    (编辑:衡阳站长网)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读