日期:2014-05-16  浏览次数:20380 次

ExtJS 4 官方指南中文翻译:类系统

转载请注明翻译者为:曲奇饼, http://quqibing.iteye.com

?

ExtJS 4 官方指南中文翻译:类系统

在历史上第一次,Ext JS的经历了一个在基础上的巨大重构,这就是新的类系统。新架构的基础几乎每一个都是建立在Ext JS4.x重写的单个类上,因此在开始编码之前理解这个类系统是很重要的。

本手册适用于任何希望创造新的或扩大在现有的Ext JS 4.x的开发者。它分为4个部分:

  • 第一节:概述解释为什么需要一个强大的类系统
  • 第二节:命名约定讨论命名类,方法,属性,变量和文件的最佳做法。
  • 第三节:实践提供了详细的一步一步的代码示例
  • 第四节:错误的处理和调试提供有用的提示和技巧,如何处理异常

1???概述

Ext JS 4 300多个类。我们有超过20万开发者的巨大社区,他们来自世界各地,有各种编程背景。在这种规模的框架中,我们面对的一个巨大挑战就是提供一个共同的代码架构。这个架构要求:

  • 熟悉和简单易学
  • 能快速开发,调试方便,无痛部署
  • 精心组织,可扩展性和可维护性

JavaScript是一个没有类的,原型为导向(prototype-oriented)的语言 。因此, JavaScript语言本质上最强大的功能之一是灵活性。它可以使用许多不同的编码风格和技巧,以许多不同的方式做同样的工作。然而,该功能也是不可预知的成本。如果没有一个统一的结构,JavaScript代码会真的很难理解,维护和再利用

另一方面,基于类(Class-based)编程,仍然停留OOP的最流行??的模式。基于类的语言,通常需要强类型,提供封装,标准的编码约定。通常使得开发者坚持一个大原则,编写的代码更可能是可预见的、可延伸和可扩展的。然而,他们却不具有JavaScript这样的语言的动态能力。

每种方法都有其自身的利弊,我们能否对各方都去其糟粕,取其精华?答案是肯定的,我们已经在Ext JS 4的解决方案中实现了。

2????命名约定

使用一致的命名约定作为所有类的代码基础,而命名空间和文件名有助于保持你的代码的组织,结构化和可读性。

2.1????

类名只能包含字母和数字字符 。数字是允许的,但在大多数情况下不推荐使用,除非是表达一个技术术语(比如Base64)。不要使用下划线、连字符,或任何其他非字母数字字符。例如:

MyCompany.useful_util.Debug_Toolbar不推荐

MyCompany.util.Base64可接受

类名应该被组织到适当的和正确的命名空间和包中,用(.)分隔包。最低限度,应该有一个独特的顶级命名空间的类名称。例如:

?

MyCompany.data.CoolProxy
MyCompany.Application
?

?

顶级的命名空间和实际类名应该用驼峰命名法,其他名称应全部小写。例如:

?

MyCompany.form.action.AutoLoad
?

?

除了Sencha?发布的类以外,都不应该使用Ext作为顶级命名空间

缩略语也应该遵循上面列出的驼峰命名法。例如:

?

Ext.data.JsonProxy 来替代 Ext.data.JSONProxy
MyCompany.util.HtmlParser,来替代MyCompar