flex編碼規(guī)約_第1頁
flex編碼規(guī)約_第2頁
flex編碼規(guī)約_第3頁
flex編碼規(guī)約_第4頁
flex編碼規(guī)約_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1文件名 不能包含空格、標點和特殊符號 ActionScript 類和接口使用開頭字母大寫的駝峰式命名例:ExampleClassName 接口總是以一個大寫字母I開頭例:IExampleInterface 包含(includes)使用開頭字母小寫的駝峰式命名; 命名空間使用開頭字母小寫的駝峰式命名例:myNamespace MXML 總是使用開頭字母大寫的駝峰式命名 CSS 總是使用開頭字母小寫的駝峰式命名2編碼 所有文件都必須使用UTF-8編碼3文件結(jié)構(gòu) ActionScript文件必須包含以下組成部分: 1 開篇注釋 2 定義包 3 聲明命名空間 4 Import描述 1. flash包

2、 2. mx包 3. com.adobe包 4. 公司組件 5. 第三方包,按字母順序排序 6. 屬于該文件的工程包 按字母順序排序;如果導入命名空間,同名的包要先于類 使用完整的引用名,不要使用星號(*),除非使用了包的絕大部分。 推薦使用:importmx.core.Application 避免使用:importmx.core.* 5 use聲明(命名空間) 按字母順序排序 6 元數(shù)據(jù) 1. Event 2. Style 3. Effect 4. 其他元數(shù)據(jù),按字母順序排序 7 定義包和接口 8 靜態(tài)變量(static) 1. public a) const b) 其他publicstat

3、ic 2. internal 3. protected 4. private 5. 自定義命名空間(按字母順序排序) 9 沒有使用getter和setter的變量 1. public 2. internal 3. protected 4. private5. 自定義命名空間(按字母順序排序) 10 構(gòu)造函數(shù) 11 用getter和setter處理的變量和方法本身,還有相關(guān)的變量,相關(guān)規(guī)則參考文檔中 例: 關(guān)于變量的部分 private var_enabled:Boolean=true; private var enabledChanged:Boolean = false; public fun

4、ction getenabled():Boolean return_enabled; public function setenabled(value:Boolean):void _enabled = value; enabledChanged = true; 12 方法 將實現(xiàn)相關(guān)功能方法組織在一起,而不是按作用域 4行與換行 如果一段描述不能放在一行中,依據(jù)下列規(guī)則將其拆分成多行: 從逗號后換行; 在運算符之前換行; 最好在較高級別代碼處換行; 換行后與上一行對齊; 如果上一條規(guī)則不適用,加入兩個縮進 不要在方法名和括號之間插入空格,也不要在括號和參數(shù)間插空格; 不要在對象名和類型間插空格

5、; 左大括號放在新的一行并與方法定義行對齊; 右大括號獨占一行并與跟成對的左大括號對齊; 方法間用一空行隔開;5換行與空格 換行(這里指一空行) 換行能使代碼看上去更清晰,更有邏輯。 下列情況需要換行: 函數(shù)之間; 方法的局部變量和聲明之間; 代碼塊前; 單行注釋前面或一段特殊功能代碼的多行注釋前面; 將一段代碼的邏輯之間分開,使代碼更清晰。 空格 在關(guān)鍵字和小括號之間插入空格,但不要在方法和他的小括號中插入空格。 在方法的形參列表中,逗號后面要有空格: 所有操作符(兩個操作數(shù)之間的,例如+,-,=,=)與其操作數(shù)之間要用空格分隔,但不要 分割一元操作符(例如+,-)。 三元操作符要用空格分開

6、,有必要的話可以拆分成多行: for表達式中要用空格分開: 6文檔注釋 文檔注釋是指在每個類、接口、變量、方法以及元標簽等定義前面放置的一段注釋,文檔注釋的作用是,讓那些將要使用這些定義的人能更好的了解定義的作用,而無需去研究代碼。 7執(zhí)行注釋 執(zhí)行注釋用來對一些不易理解的特殊代碼進行說明,使用/進行注釋,不管是多行還是單行。 如果注釋獨占一行,要將注釋放在相關(guān)代碼之前: / 確定沒有可見列 if (!visibleColumns | visibleColumns.length = 0) 如果不是太長,注釋可以和代碼放在同一行: colNum = 0; / 補償可見初始列的偏移量 不要翻譯代碼

7、: colNum = 0; / 把列數(shù)設(shè)為08文件結(jié)構(gòu) MXML文件必須包括以下組成部分: 1 XML文件頭 總是在文件頭中定義編碼,并 <?xml version=”1.0” encoding=”UTF-8” ?> 且總是使用UTF-8編碼 2 根標簽 必須包含文件中使用到的所有命名空間 3 元標簽 1. Event 2. Style 3. Effect 4. 其他元標簽,按字母順序排列 4 定義樣式 盡量使用外部樣式文件 5 定義腳本 只能存在一個腳本塊 6 非可視組件 7 可視組件 9行與換行 在一組可視組件之間插入空白行可使代碼更清晰 在同一個父組件的子組件之間(也包括他們

8、的子組件)插入空白行,如果這個子組件擁有至少 一個子組件: <mx:series> <mx:ColumnSeries yField="prev" displayName="Forecast"> <mx:stroke> <mx:Stroke color="0xB35A00" /> </mx:stroke> <mx:fill> <mx:LinearGradient angle="0"> <mx:entries> <mx

9、:GradientEntry. /> <mx:GradientEntry. /> </mx:entries> </mx:LinearGradient> </mx:fill> </mx:ColumnSeries>10屬性 按下列順序排序: 屬性 如果有id的話,永遠放在第一位; 記住,width,height和styleName是屬性而不是樣式; 效果(Effects) 樣式(Style) 事件(Events) 如果有id,永遠放在第一位。 <mx:ViewTack id=”mainModules” width=”75%”

10、height=”75%” /> 標簽屬性如果放在多行要進行縮進。<mx:Label width="100%" height="100%" truncateToFit="true" text="Herecomesalongenoughtextthat." /> 如果標簽的聲明有多行,處在第一行的永遠只有id一個屬性,其他屬性按上面的順序放在其 他行中。 <mx:ViewStack id="mainModules" height="75%" width=&

11、quot;75%" paddingTop="10" paddingLeft="10" paddingRight="10"> <mx:ViewStack height="75%" width="75%" paddingTop="10" paddingLeft="10" paddingRight="10"> 同一類的屬性放在一行,下面的例子中第二行定義了屬性,第三行定義樣式,第四行定義效果, 最后一行是事件。 &

12、lt;mx:Panel title="VBoxContainerExample" status="Somestatus" paddingTop="10" paddingLeft="10" paddingRight="10" resizeEffect="Resize" hide="doSomething()" creationComplete="doSomething()" /> 在同類屬性需要放入多行的情況下,視乎情況將更為相近的

13、屬性放入同一行,下例中第四、五 行均為樣式,第四行定義了一些padding: <mx:Panel id="pnLoginInfo" title="VBoxContainerExample" height="75%" width="75%" titleStyleName="titleLogin" headerHeight="25" paddingTop="10" paddingLeft="10" paddingRight="

14、;10" resize="resizeHandler(event)" />六、命名 6.1一般規(guī)則 縮寫:應盡量避免使用縮寫,除非是那些縮寫形式更常用于它的全稱的縮寫(例如URL, HTML等)。工程名可以是用縮寫,如果他就是叫那個名字。 只使用AscII字符,不包括重音符號()、空格、標點和特殊字符; 不要使用FlexSDK 中預留的關(guān)鍵字命名(像mx包中的Application、DataGrid等),也不要使用FlashPlayer 中預留的關(guān)鍵字(像Flash 包中的 IOError、Bitmap等) 既然在MXML 中編寫代碼與在ActionScri

15、pt 中一樣容易,在MXML 中的命名規(guī)則也 和ActionScript 中是一樣的(舉例來說,一個MXML就像一個ActionScript類,其內(nèi)部的組件和變量等同于屬性) 主程序文件命名為Main.mxml不要在組件名稱中使用索引,以免在用ASDoc工具生成文檔時產(chǎn)生沖突。 6.2語言 編碼本身必須使用英語,除了涉及到商業(yè)領(lǐng)域的動詞和名詞(特殊專業(yè)領(lǐng)域的軟件是為了解決 問題,也就是說,現(xiàn)實世界和系統(tǒng)是相關(guān)聯(lián)的) 因此,推薦使用下面的命名: DEFAULT_CATEGORIA addNotaFiscal() getProdutosByCategoria() changeState() Usu

16、arioVO screens/Reports.mxml 不推薦下列命名: popularCombo() mudarEstado() UsuarioObjetoDeTransferencia 6.3包 包的命名必須使用 lowerCamelCase (駝峰式命名),第一個單詞的開頭字母小寫,其他單詞的開頭字母大寫 包名的第一部分使用頂級域(com, org, mil, edu, net或gov)或者使用兩個單詞,國 家標識加頂級域,參考文檔ISO3166 (, , 等) 下一部分是所有者(公司或客戶)的名稱,接下來是工程名和模塊: ject.module6

17、.4類 類名推薦使用名詞,也可以使用形容詞。總是使用UpperCamelCase (開頭字母大寫的駝峰式命名)形式 6.5接口 接口的命名規(guī)則和類的是一樣的,只是開頭加上一個大寫字母I 6.6方法 方法必須使用動詞開頭,并使用lowerCamelCase (開頭字母小寫的駝峰式命名)形式,如果方法被一個事件調(diào)用,結(jié)尾加上Handler 6.7變量 變量使用lowerCamelCase 形式命名,并且使用有意義的名稱,如果變量使用getter 和 setter方法讀/寫值,開頭應加上下劃線(_) 變量不必使用前綴,在ActionScript 中給對象一個通俗易懂的名字比對象類型更重要。盡管如此,

18、Boolean型變量應以can、is和has開頭。 臨時變量(例如在循環(huán)中)通常使用一個字母,最常用的字母是 i, j, k, m, n, c, d。 不要使用l。 catch 中的變量必須使用e,不管錯誤類型為何(如果他是個類) 6.8常量 常量全部使用大寫字母,單詞間用下劃線分割(_) 6.9命名空間 命名空間全部使用小寫字母,單詞間用下劃線分割(_) 文件名必須與命名空間名稱一致。七、一般習慣 釋中使用FIXME關(guān)鍵字來標識某些需要修正的代碼,使用TODO標識某些在重構(gòu)時需要改良的代碼,這可以使用Flex Builder 2 Task插件; 將需要重復調(diào)用的值在使用指派給一個變量,這對提

19、高性能相當有用(在簡單的數(shù)組中不需要) 正確的: var maxPhase:int = reallySlowMethod(); for (var i:Number = 0; I < maxPhase; i+) statements; 正確的: var months:Array = 'Jan', 'Fev', 'Mar' / 獲取數(shù)組長度是相當快的 / 這樣做同時還增強了代碼的可讀性 for (var i:Number = 0; I < months.length; i+) trace (monthsi); 錯誤的: for (var i:Number = 0; I < reallySlowMethod(); i+) statements; 盡量使用松耦合的組件,組件之間的關(guān)連越少,其重復利用的可能越大; 在Boolean判斷中,將速度快的放前面。 正確的: if (isAdmin && slowMethod(item) 錯誤的: if (slowMethod(item) &&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論