具有前缀域名的Class的命名约定?

时间:2012-03-24 07:13:20

标签: html actionscript-3 flex

我看到很多项目遵循这种编码风格

以下语法

的任何显着优势

我的项目名称:King Author(KA)

我要创建按钮组件。我的班级名称“KAButton”

这是正确的方法吗?命名空间怎么样?

另外请建议GUI组件的命名约定(Flex / Html)?

3 个答案:

答案 0 :(得分:1)

命名类的传统方法是

com.yourdomain.project.projectompontent.yourclassname.as(或mxml)

或者在你的情况下

com.yourdomain.kingauthor.buttons.RadioButton.as

优点:

  • 不会有重复。您可以组合使用此代码 使用来自第三方的组件(或者他们可以使用您的组件),而不必害怕具有重复的类定义。这是因为您在命名空间中使用了一个独特的部分:您的域。
  • 您可以在子组件中轻松构建项目,第三方开发人员可以更快地了解项目。

您建议的命名约定在顶部有一些缺点:

  • 命名按钮KAButton不会自言自语:人们必须知道KA代表King Author,如果不查看代码/文档,他们将不知道它是什么。

您可以通过使用基于组件的约定来避免这种情况,并获得项目结构。

答案 1 :(得分:0)

ActionScript已经提供了一个包机制,所以不需要像在C ++中那样使用前缀类。

只需将课程放在您自己的包中:

package com.example {
    class Button {

    }
}

答案 2 :(得分:0)

切碎说的是正确的,但有些人在他们的类名上加上这样的前缀,所以kingauthor.RadioButton在任何情况下都不会与flash.RadioButton发生冲突。 例如,box2dflash使用b2World,b2Body ..我记得看到其他libs跟着它们。

我个人肯定会使用kingauthor.buttons.kaRadioButton ..