AS3变量命名规则

统一变量命名规则的意义

统一的命名规则使变量名称含义清晰,便于阅读和记忆。例如,我们写了一段很长的代码,里面有若干个形形色色的变量,假设,我们在当初命名这些变量时没有遵循一定的规则,仅仅是随心所欲的任意定义,那么,过了一年半载,你再回过头去阅读那段代码,你能清晰的记得这些变量的含义吗?你能通过这些变量的定义初衷回想起当时闪光的设计想法吗?我想,很难吧!读自己写的代码尚且如此,读别人的代码是什么情况就可想而知了。
统一的命名规则使系统层次结构更加清晰,便于细化分工和协调管理。例如,假设我们的一个系统被划分成A、B、C、D四个子模块,由四个开发人员同步开发,如果我们能将各自模块的代码包用分别包含A、B、C、D这四个字母的名字显式标注,那么,以后在集成了这四个模块的主程序中,我们一看到A_xxx就知道这是A模块的内容,一看到B_xxx就知道这是B模块的内容,主程序在什么位置使用了哪个模块就一目了然了。反之,则要困难很多。
统一的命名规则使团队成员在命名变量时的效率更高,提高开发效率。我不知道各位有没有过跟我一样的困惑——我经常会为给一个变量或函数起一个漂亮的名字而徘徊犹豫,甚至有时候我会为了名字而去重构代码。如果我们能一直遵循一套完善的命名规则去命名变量,养成一个科学的命名习惯,我想,这种情况就应该不会出现了。
统一的命名规则使团队成员书写的代码风格更加统一,团队更显专业。各位都看过其它一些优秀团队的优秀代码,他们的代码,整个风格、基调好像都出自一个人之手,十分紧凑,让我们感叹。但是,他们的代码真的就是一个人写出来的吗?回答当然是一声响亮的“NO”。那么是什么使他们的代码保持了这种风格的统一呢?规则!命名规则!

变量命名的基本原则

同一性原则。在编写一个子模块或派生类的时候,要遵循其基类或整体模块的命名风格,保持命名风格在整个模块中的同一性。
标识符组成原则。标识符采用英文单词或其组合,应当直观且可以拼读,可望文知意,用词应当尽量准确,尽可能地采用计算机专业词汇。
最小化长度和{zd0}化信息量原则。在保持一个标识符意思明确的同时,应当尽量缩短其长度。
避免过于相似原则。不要出现仅靠大小写区分的相似的标识符,例如“i”与“I”,“People”与“people”等等。
避免在不同级别的作用域中重名原则。程序中不要出现名字xx相同的局部变量和全局变量,尽管两者的作用域不同而不会发生语法错误,但容易使人误解。
正确命名具有互斥意义的标识符原则。用正确的反义词组命名具有互斥意义的标识符,如:"nMinValue"和"nMaxValue","GetName()" 和 "SetName()" ....
避免名字中出现数字编号原则。尽量避免名字中出现数字编号,如Value1,Value2等,除非逻辑上的确需要编号。数字编号名字是最省事的名字,因此,它也是最容易将程序员引向懒惰深渊的东西之一,我们应当强烈xx它,因为,数字编号名字的含义往往很晦涩,在不明就里的情况下很让人费解。

建议的命名方法简介——驼峰式匈牙利命名法

原始的匈牙利命名法,现在被称为匈牙利应用命名法,由1972年至1981年在施乐帕洛阿尔托研究中心工作的程序员查尔斯•西蒙尼发明。此人后来成了微软的总设计师。

这种命名法其实是对于西蒙尼祖籍的一种讽刺。匈牙利人名和大多数其他欧洲人名相比是反过来的,即姓氏在名字的前面。举个例子,英语化的名字"Charles Simonyi"在匈牙利语中原本是"Simonyi Károly"。同样的,在匈牙利命名法中,类型名在实际变量名前,而不是像大多数欧洲的Smalltalk那样,类型放在变量名后,例如aPoint和lastPoint。

       在驼峰式匈牙利命名法中,一个变量名由一个或多个小写字母开始,这些字母有助于记忆变量的类型和用处,紧跟着的就是程序员选择的任何名称,后半部分的首字母大写以区别前面的类型指示字母。驼峰式匈牙利命名法的优点如下:

从名字中就可以看出变量的类型
拥有类似语义的多个变量可以在一个代码块中使用:nWidth, bWidth
变量名在仅仅知道他们的类型时可以被轻易记住
可以使变量名更加一致
决定一个变量名的时候可以更机械化,更快
不合适的类型转换和操作可以在阅读代码的时候被检测出来
l 在那些数字被当作字符串处理的基于字符串的语言中非常有用(例如Tcl)
l 在匈牙利应用命名法中,变量名确保不会犯以下错误:heightWindow = window.getWidth()
在使用动态类型语言或xx无类型的语言编程时,关于类型的修饰可以更简化。这种语言一般不包含类型修饰(或者可选),因此{wy}可以看出哪些类型是被允许的只有名字本身、文档以及通过阅读代码来明白它们在做什么。在这些语言中,包含对于变量类型的指示可能会有助于程序员。就像上面提到的,匈牙利命名法扩展了这样的语言(BCPL)。
在包含许多全局对象的复杂程序中(VB/Delphi Forms),拥有一个基本的前缀命名法可以简化在编辑器中查找组件的工作。按btn<Ctrl-Space>可以使编辑器弹出一个Button对象的列表。
可以命名任意长度(只要你的编译器允许)含义清晰的变量名

建议的命名规则草案(驼峰式匈牙利命名法的AS3前缀定义)

基础类型
类型标识符
真实类型

u
uint、int、Number

s
String

b
Number

复杂类型
类型标识符
真实类型

arr
Array

ob
Object

C
Class

内置复杂类型
类型标识符
真实类型

stg
Stage

mc
MovieClip

btn
Button

txt
TextField

tf
TextFormat

spt
Sprite

md
BitmapData

bm
Bitmap

shp
Shape

snd
Sound

snc
SoundChannel

vd
Video

cr
Color

ctf
ColorTransform

app
ApplicationDomain

ctx
LoaderContext

ld
Loader

uld
URLLoader

qst
URLRequest

btr
ByteArray

xml
XML

evt
Event和所有扩展Event的类的对象

err
Error和所有扩展Error的类的对象

reg
RegExp

ftr
所有滤镜类

tw
Tween

nc
NetConnection

ns
NetStream

cam
Camera

mic
Microphone

lnc
LocalConnection

ctm
ContextMenu

以上是AS3编程中常用的内置类型,其余的自由命名,但应该尽量用通用缩写。

函数命名规则
名称
规则

普通函数
尽量以通俗动词命名

事件处理函数
on+事件名+个性标记命名

自定义类和类成员命名规则
名称
规则

类名
大写字母C开头+上类的主要作用表述

私有属性
以m开头(my的{dy}个字母)

公有属性
遵循普通变量命名规则

保护属性
以o开头(our的{dy}个字母)

静态私有属性
以sm开头

静态公有属性
遵循普通变量命名规则

方法
遵循普通函数命名规则

接口命名规则
名称
规则

接口名
大写I开头+接口种类描述

接口方法
遵循普通函数命名规则

常量命名规则
用途类型
规则

事件类型常量
EVENT_+类别名称,单词以下划线分隔

分支选择常量
CASE_+类别名词,单词以下划线分隔

数值常量
NUM_+用途名称,单词以下划线分隔


命名空间命名规则

命名空间以“name_”加特定名称的小写形式声明。

      

补充:注释规则

类中作用不明显的属性必须添加用途注释。以单行注释(“//…”)空两格写在属性声明语句后。
类中的所有公共方法必须添加注释,起码要标注方法名称。以文档注释(“/**…*/”)写在方法定义语句的上一行。
复杂方法必须添加用法示例。示例代码要包含在<listing></listing>标签对中。
添加注释的目的有两个,{dy},为了便于其它同事阅读代码;第二,便于用文档工具自动生成API文档。


本文来自CSDN博客,转载请标明出处:



郑重声明:资讯 【AS3变量命名规则】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——