分享
 
 
 

FLASH的编程习惯

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

本节内容概述了在使用actionscript编程和创建应用程序的时候需要遵循的一些规则,以及如何使我们的程序代码更有效和具有更好的可读性,更方便调试应用程序。

把这节写在前面,也是为了让开始接触ActionScript编程的开发人员从一开始就养成好的编程和开发习惯。

1. 遵循命名规则

一个应用程序的命名规划必须保持一致性和可读性。任何一个实体的主要功能或用途必须能够根据命名明显的看出来。因为ActionScript是一个动态类型的语言,命名最好是包含有代表对象类型的后缀。一般而言,名词_动词和形容词_名词之类的语法是最常用的命名方式,如:

影片名字:my_movie.swf

URL实体:course_list_output

组件或对象名称:chat_mc

变量或属性:userName

方法和变量的名称应该以小写字母开头,对象和对象的构造方法应该大写。命名变量的时候使用大小写混和的方式,并且使用字母打头,还可以包含数字和下划线。

下面的一些命名是非法的:

_count =5 ;//首字符不能使用下划线

5count = 0;//首字符不能使用数字

foo/bar = true;//包含非法字符

另外,ActionScript使用的保留字不能用来命名变量。

ActionScript是基于ECMAScript,所以我们可以根据ECMAScript的规范来命名。如:

course_list_output = "foo"; //全部小写,使用下划线分割字串

courseListOutput = "foo"; // 大小写混和的方式

BASEURL = http://www.flash8.net; // 常量使用全部大写

MAXCOUNTLIMIT = 10;

MyObject = function(){ }; // 构造函数

f = new MyObject(); // 对象

注意;良好的命名规范还可以使用Flash的代码提示功能。

2. 给你的代码添加注释

使用代码注释能够使得程序更清晰,也便于我们阅读。Flash支持的代码注释方法有两种: 单行注释,通常用于变量的说明

var clicks = 0; // variable for number of button clicks多行注释,通常用于功能说明和大段文字的注释:

/*

Initialize the clicks variable that keeps track of the number of times

the button has been clicked.

*/ 一些具有特定意思的注释方法: // :TODO: topic

表明一个主题的开始

// :BUG: [bugid] topic

显示了一个BUG所在

// :KLUDGE:

表明下面的代码并不完善,可能存在问题

// :TRICKY:

告诉开发人员下面的代码具有相互作用,修改之前请谨慎

3. 保持代码的整体性

无论什么情况,应该尽可能保证所有代码在同一个位置,这样使得代码更容易搜索和调试。我们在调试程序的时候很大的困难就是定位代码,如果大部分代码都集中在同一帧,问题就比较好解决了。通常,我们把代码都放在第一帧中,并且单独放在最顶层。如果在第一帧中集中了大量的代码,记得用注释标记区分,并在开头加上代码说明

// 视频语音聊天系统

// FCAVPresence组件

// Copyright ◎2002 Macromedia, Inc. All rights reserved.

// 完 善: Liu21st, Liu21st@126.com

//--------------------------------------------------------- 在独立的功能模块前面加上类似的标注:

// 参数初始化

file://---------------------------------------------------------

4. 初始化应用程序

记得一定要初始化你的应用程序,init函数应该是你的应用程序类的第一个函数,如果使用面向对象的编程方式则应该在构造函数中进线初始化工作。该函数只是对应用程序中的变量和对象初始化,其它的调用可以通过事件驱动。

下面的例子可以说明如何进线初始化

function FCAVPresenceClass() {

this.init();

}

FCAVPresenceClass.prototype.init = function() {

this.name = (this._name == null ? "_DEFAULT_" : this._name);

this.prefix = "FCAVPresence." + this.name + ".";

};

5.使用局部变量

所有的局部变量使用关键字var来申明,这样可以避免被全局变量访问,更重要的是,可以保证变量不被覆盖和混淆程序逻辑。例如,下面的代码没有使用var来申明,覆盖了其它变量。

counter = 7;

function loopTest()

{

trace(counter);

for(counter = 0; counter < 5; counter++)

{

trace(counter);

}

}

trace(counter);

loopTest();

trace(counter);

输出结果为:

7

7

0

1

2

3

4

5

6. 创建对象时使用原型添加方法和属性

当我们创建一个对象的时候,应当使用原型方式来添加对象的方法或属性,使得该方法或属性能够被所有该对象或子对象的实体所访问。这种能够确保内存中每个函数只有一份拷贝。作为一般的规则,不要在构造函数中定义方法。下面是一个正确的例子:

// Best practice for creating an object

MyObject = function()

{ }

MyObject.prototype.name = "";

MyObject.prototype.setName = function(name)

{

this.name = name;

}

MyObject.prototype.getName = function()

{

return this.name;

}

下面这段代码是不可取的:

// Less desirable practice for creating an object

MyObject = function()

{

this.name = "";

this.setName = function(name)

{

this.name = name;

}

this.getName = function()

{

return this.name;

}

}

使用上面的方式在每个对象的实体被创建的时候都会实体重新复制每一个属性和方法,会加重系统的内存开销。

7. 规范命名方式获取代码提示功能

不再是需要定义类似 _mc 之类的命名才会显示代码提示

但是需要使用as2.0的规范来书写代码,如:

1 :

var members:Array = new Array();

然后我们在输入members. ,Flash 就会显示可用于 Array 对象的方法和属性的列表

(关键是 members:Array 起的作用,其实我们在变量名称后面打:的时候自动会给出所有支持的对象的列表)

但并不是要我们在使用面向对象编程的时候不需要注意命名规范了

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有