加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

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

发布时间:2018-10-14 11:34:10 所属栏目:创业 来源:站长网
导读: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,{...});

     

     

     

    (编辑:河北网)

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

    热点阅读