中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁(yè) > 技術(shù)文檔 > 多媒體制作 > FCS閱讀筆記:良好的編程習(xí)慣
Flex 入門教程 回到列表 Swift3D..Flash3D的好幫手
 FCS閱讀筆記:良好的編程習(xí)慣

作者:Liu21st 時(shí)間: 2004-08-18 文檔類型:轉(zhuǎn)載 來(lái)自:

本節(jié)內(nèi)容概述了在使用actionscript編程和創(chuàng)建應(yīng)用程序的時(shí)候需要遵循的一些規(guī)則,以及如何使我們的程序代碼更有效和具有更好的可讀性,更方便調(diào)試應(yīng)用程序。
把這節(jié)寫在前面,也是為了讓開(kāi)始接觸ActionScript編程的開(kāi)發(fā)人員從一開(kāi)始就養(yǎng)成好的編程和開(kāi)發(fā)習(xí)慣。

1. 遵循命名規(guī)則

一個(gè)應(yīng)用程序的命名規(guī)劃必須保持一致性和可讀性。任何一個(gè)實(shí)體的主要功能或用途必須能夠根據(jù)命名明顯的看出來(lái)。因?yàn)锳ctionScript是一個(gè)動(dòng)態(tài)類型的語(yǔ)言,命名最好是包含有代表對(duì)象類型的后綴。一般而言,名詞_動(dòng)詞和形容詞_名詞之類的語(yǔ)法是最常用的命名方式,如:
影片名字:my_movie.swf
URL實(shí)體:course_list_output
組件或?qū)ο竺Q:chat_mc
變量或?qū)傩裕簎serName

方法和變量的名稱應(yīng)該以小寫字母開(kāi)頭,對(duì)象和對(duì)象的構(gòu)造方法應(yīng)該大寫。命名變量的時(shí)候使用大小寫混和的方式,并且使用字母打頭,還可以包含數(shù)字和下劃線。
下面的一些命名是非法的:

_count =5 ;//首字符不能使用下劃線
5count = 0;//首字符不能使用數(shù)字
foo/bar = true;//包含非法字符

另外,ActionScript使用的保留字不能用來(lái)命名變量。
ActionScript是基于ECMAScript,所以我們可以根據(jù)ECMAScript的規(guī)范來(lái)命名。如,
course_list_output = "foo"; //全部小寫,使用下劃線分割字串
courseListOutput = "foo"; // 大小寫混和的方式
BASEURL = http://www.foo.com; // 常量使用全部大寫
MAXCOUNTLIMIT = 10;
MyObject = function(){ }; // 構(gòu)造函數(shù)
f = new MyObject(); // 對(duì)象
注意;良好的命名規(guī)范還可以使用Flash的代碼提示功能。

2. 給你的代碼添加注釋

使用代碼注釋能夠使得程序更清晰,也便于我們閱讀。Flash支持的代碼注釋方法有兩種:

 單行注釋,通常用于變量的說(shuō)明
var clicks = 0; // variable for number of button clicks
 多行注釋,通常用于功能說(shuō)明和大段文字的注釋:
/*
Initialize the clicks variable that keeps track of the number of times
the button has been clicked.
*/

一些具有特定意思的注釋方法:

// :TODO: topic
表明一個(gè)主題的開(kāi)始
// :BUG: [bugid] topic
顯示了一個(gè)BUG所在
// :KLUDGE:
表明下面的代碼并不完善,可能存在問(wèn)題
// :TRICKY:
告訴開(kāi)發(fā)人員下面的代碼具有相互作用,修改之前請(qǐng)謹(jǐn)慎

3. 保持代碼的整體性

無(wú)論什么情況,應(yīng)該盡可能保證所有代碼在同一個(gè)位置,這樣使得代碼更容易搜索和調(diào)試。我們?cè)谡{(diào)試程序的時(shí)候很大的困難就是定位代碼,如果大部分代碼都集中在同一幀,問(wèn)題就比較好解決了。通常,我們把代碼都放在第一幀中,并且單獨(dú)放在最頂層。如果在第一幀中集中了大量的代碼,記得用注釋標(biāo)記區(qū)分,并在開(kāi)頭加上代碼說(shuō)明。

//===========================================
// 視頻語(yǔ)音聊天系統(tǒng)
// FCAVPresence組件
// Copyright ◎2002 Macromedia, Inc. All rights reserved.
// 完 善: Liu21st, Liu21st@126.com
//---------------------------------------------------------

在獨(dú)立的功能模塊前面加上類似的標(biāo)注:
//===========================================
// 參數(shù)初始化
//---------------------------------------------------------

4. 初始化應(yīng)用程序

記得一定要初始化你的應(yīng)用程序,init函數(shù)應(yīng)該是你的應(yīng)用程序類的第一個(gè)函數(shù),如果使用面向?qū)ο蟮木幊谭绞絼t應(yīng)該在構(gòu)造函數(shù)中進(jìn)線初始化工作。該函數(shù)只是對(duì)應(yīng)用程序中的變量和對(duì)象初始化,其它的調(diào)用可以通過(guò)事件驅(qū)動(dòng)。
下面的例子可以說(shuō)明如何進(jìn)線初始化

function FCAVPresenceClass() {
    this.init();
}
FCAVPresenceClass.prototype.init = function() {
    this.name = (this._name == null ? "_DEFAULT_" : this._name);
    this.prefix = "FCAVPresence." + this.name + ".";
};

5.使用局部變量

所有的局部變量使用關(guān)鍵字var來(lái)申明,這樣可以避免被全局變量訪問(wèn),更重要的是,可以保證變量不被覆蓋和混淆程序邏輯。例如,下面的代碼沒(méi)有使用var來(lái)申明,覆蓋了其它變量。

counter = 7;
function loopTest()
{
    trace(counter);
    for(counter = 0; counter < 5; counter++)
    {
        trace(counter);
    }
}
trace(counter);
loopTest();
trace(counter);

輸出結(jié)果為:
7
7
0
1
2
3
4
5

6. 創(chuàng)建對(duì)象時(shí)使用原型添加方法和屬性

當(dāng)我們創(chuàng)建一個(gè)對(duì)象的時(shí)候,應(yīng)當(dāng)使用原型方式來(lái)添加對(duì)象的方法或?qū)傩,使得該方法或(qū)傩阅軌虮凰性搶?duì)象或子對(duì)象的實(shí)體所訪問(wèn)。這種能夠確保內(nèi)存中每個(gè)函數(shù)只有一份拷貝。作為一般的規(guī)則,不要在構(gòu)造函數(shù)中定義方法。下面是一個(gè)正確的例子:

// 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;
    }
}

使用上面的方式在每個(gè)對(duì)象的實(shí)體被創(chuàng)建的時(shí)候都會(huì)實(shí)體重新復(fù)制每一個(gè)屬性和方法,會(huì)加重系統(tǒng)的內(nèi)存開(kāi)銷。

7. 規(guī)范命名方式獲取代碼提示功能

這方面我已經(jīng)有過(guò)詳細(xì)的敘述,請(qǐng)看:
[ actionscript代碼提示功能 ]和 [ 面向?qū)ο蠓绞降拇a提示功能 ]

出處:
責(zé)任編輯:
qhwa

◎進(jìn)入論壇Flash專欄版塊參加討論

作者文章
FCS閱讀筆記:良好的編程習(xí)慣
在List組件中使用渲染器
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計(jì)比賽 網(wǎng)頁(yè)制作 web標(biāo)準(zhǔn) 用戶體驗(yàn) UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大!熬•自然”設(shè)計(jì)大賽開(kāi)啟
國(guó)際體驗(yàn)設(shè)計(jì)大會(huì)7月將在京舉行
中國(guó)國(guó)防科技信息中心標(biāo)志征集
云計(jì)算如何讓安全問(wèn)題可控
云計(jì)算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會(huì)
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅(jiān)的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計(jì)大賽
欄目最新 欄目最新列表
淺談JavaScript編程語(yǔ)言的編碼規(guī)范
如何在illustrator中繪制臺(tái)歷
Ps簡(jiǎn)單繪制一個(gè)可愛(ài)的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡(jiǎn)單的作品展示頁(yè)面
CSS定位機(jī)制之一:普通流
25個(gè)最佳最閃亮的Eclipse開(kāi)發(fā)項(xiàng)目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來(lái)自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來(lái)自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請(qǐng)不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計(jì)作品,如需使用,請(qǐng)與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請(qǐng)與我們聯(lián)系,我們將立即刪除修改。

您的評(píng)論
用戶名:  口令:
說(shuō)明:輸入正確的用戶名和密碼才能參與評(píng)論。如果您不是本站會(huì)員,你可以注冊(cè) 為本站會(huì)員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯(cuò)誤,請(qǐng)用報(bào)告錯(cuò)誤,以利文檔及時(shí)修改。
不評(píng)分 1 2 3 4 5
注意:請(qǐng)不要在評(píng)論中含與內(nèi)容無(wú)關(guān)的廣告鏈接,違者封ID
請(qǐng)您注意:
·不良評(píng)論請(qǐng)用報(bào)告管理員,以利管理員及時(shí)刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國(guó)的各項(xiàng)有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評(píng)論管理人員有權(quán)保留或刪除其管轄評(píng)論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評(píng)論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評(píng)論文檔 | 報(bào)告錯(cuò)誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測(cè)試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計(jì)之道
《Flex 4.0 RIA開(kāi)發(fā)寶典》
《贏在設(shè)計(jì)》
犀利開(kāi)發(fā)—jQuery內(nèi)核詳解與實(shí)踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2