天天看點

DIV+CSS:如何編寫代碼才能更有效率

如何編寫CSS代碼才能更有效率?這是許多網頁制作者與開發者都關心的問題。大概沒有什麼魔法,可以保證一下就把你的樣式表縮小到百分之多少,但合理的 CSS 編碼與組織技巧,的确能夠幫助你的更有效率地寫出更清晰高效的代碼,自然,樣式表大小的縮減還能減少下載下傳的時間。

一、排版:

1、關鍵詞和操作符之間加适當的空格。

2、相對獨立的程式塊與塊之間加空行

3、較長的語句、表達式等要分成多行書寫。

4、劃分出的新行要進行适應的縮進,使排版整齊,語句可讀。

5、長表達式要在低優先級操作符處劃分新行,操作符放在新行之首。

6、循環、判斷等語句中若有較長的表達式或語句,則要進行适應的劃分。

7、若函數或過程中的參數較長,則要進行适當的劃分。

8、不允許把多個短語句寫在一行中,即一行隻寫一條語句。

9、函數或過程的開始、結構的定義及循環、判斷等語句中的代碼都要采用縮進風格。

10、C/C++語言是用大括号‘{’和‘}’界定一段程式塊的,編寫程式塊時‘{’和‘}’應各獨占一行并且位于同一列,同時與引用它們的語句左對齊。在函數體的開始、類的定義、結構的定義、枚舉的定義以及if、for、do、while、switch、case語句中的程式都要采用如上的縮進方式。

二、注釋

1、注釋要簡單明了。

2、邊寫代碼邊注釋,修改代碼同時修改相應的注釋,以保證注釋與代碼的一緻性。

3、在必要的地方注釋,注釋量要适中。注釋的内容要清楚、明了,含義準确,防止注釋二義性。保持注釋與其描述的代碼相鄰,即注釋的就近原則。

4、對代碼的注釋應放在其上方相鄰位置,不可放在下面。

5、對資料結構的注釋應放在其上方相鄰位置,不可放在下面;對結構中的每個域的注釋應放在此域的右方;同一結構中不同域的注釋要對齊。

6、變量、常量的注釋應放在其上方相鄰位置或右方。

7、全局變量要有較詳細的注釋,包括對其功能、取值範圍、哪些函數或過程存取它以及存取時注意事項等的說明。

8、在每個源檔案的頭部要有必要的注釋資訊,包括:檔案名;版本号;作者;生成日期;子產品功能描述(如功能、主要算法、内部各部分之間的關系、該檔案與其它檔案關系等);主要函數或過程清單及本檔案曆史修改記錄等。

9、在每個函數或過程的前面要有必要的注釋資訊,包括:函數或過程名稱;功能描述;輸入、輸出及傳回值說明;調用關系及被調用關系說明等。

三、命名

1、較短的單詞可通過去掉“元音”形成縮寫;

2、較長的單詞可取單詞的頭幾發符的優先級,并用括号明确表達式的操作順序,避免使用預設優先級。

3、使用匈牙利表示法

四、可讀性

1、避免使用不易了解的數字,用有意義的辨別來替代。

2、不要使用難懂的技巧性很高的語句。

3、源程式中關系較為緊密的代碼應盡可能相鄰。

五、變量

1、去掉沒必要的公共變量。

2、構造僅有一個子產品或函數可以修改、建立,而其餘有關子產品或函數隻通路的公共變量,防止多個不同子產品或函數都可以修改、建立同一公共變量的現象。

3、仔細定義并明确公共變量的含義、作用、取值範圍及公共變量間的關系。

4、明确公共變量與操作此公共變量的函數或過程的關系,如通路、修改及建立等。

5、當向公共變量傳遞資料時,要十分小心,防止賦與不合理的值或越界等現象發生。

6、防止局部變量與公共變量同名。

7、仔細設計結構中元素的布局與排列順序,使結構容易了解、節省占用空間,并減少引起誤用現象。

8、結構的設計要盡量考慮向前相容和以後的版本更新,并為某些未來可能的應用保留餘地(如預留一些空間等)。

9、留心具體語言及編譯器處理不同資料類型的原則及有關細節。

10、嚴禁使用未經初始化的變量。聲明變量的同時對變量進行初始化。

11、程式設計時,要注意資料類型的強制轉換。

六、函數、過程

1、函數的規模盡量限制在200行以内。

2、一個函數最好僅完成一件功能。

3、為簡單功能編寫函數。

4、函數的功能應該是可以預測的,也就是隻要輸入資料相同就應産生同樣的輸出。

5、盡量不要編寫依賴于其他函數内部實作的函數。

6、避免設計多參數函數,不使用的參數從接口中去掉。

7、用注釋詳細說明每個參數的作用、取值範圍及參數間的關系。

8、檢查函數所有參數輸入的有效性。

9、檢查函數所有非參數輸入的有效性,如資料檔案、公共變量等。

10、函數名應準确描述函數的功能。

11、避免使用無意義或含義不清的動詞為函數命名

12、函數的傳回值要清楚、明了,讓使用者不容易忽視錯誤情況。

13、明确函數功能,精确(而不是近似)地實作函數設計。

14、減少函數本身或函數間的遞歸調用。

15、編寫可重入函數時,若使用全局變量,則應通過關中斷、信号量(即P、V操作)等手段對其加以保護。

七、可測性

1、在編寫代碼之前,應預先設計好程式調試與測試的方法和手段,并設計好各種調測開關及相應測試代碼如列印函數等。

2、在進行內建測試/系統聯調之前,要構造好測試環境、測試項目及測試用例,同時仔細分析并優化測試用例,以提高測試效率。

八、程式效率

1、程式設計時要經常注意代碼的效率。

2、在保證軟體系統的正确性、穩定性、可讀性及可測性的前提下,提高代碼效率。

3、不能一味地追求代碼效率,而對軟體的正确性、穩定性、可讀性及可測性造成影響。

4、程式設計時,要随時留心代碼效率;優化代碼時,要考慮周全。

5、要仔細地構造或直接用彙編編寫調用頻繁或性能要求極高的函數。

6、通過對系統資料結構劃分與組織的改進,以及對程式算法的優化來提高空間效率。

7、在多重循環中,應将最忙的循環放在最内層。

8、盡量減少循環嵌套層次。

9、避免循環體内含判斷語句,應将循環語句置于判斷語句的代碼塊之中。

10、盡量用乘法或其它方法代替除法,特别是浮點運算中的除法。

九、品質保證

1、在軟體設計過程中構築軟體品質。代碼品質保證優先原則

(1)正确性,指程式要實作設計要求的功能。

(2)穩定性、安全性,指程式穩定、可靠、安全。

(3)可測試性,指程式要具有良好的可測試性。

(4)規範/可讀性,指程式書寫風格、命名規則等要符合規範。

(5)全局效率,指軟體系統的整體效率。

(6)局部效率,指某個子產品/子子產品/函數的本身效率。

(7)個人表達方式/個人友善性,指個人程式設計習慣。

2、隻引用屬于自己的存貯空間。

3、防止引用已經釋放的記憶體空間。

4、過程/函數中配置設定的記憶體,在過程/函數退出之前要釋放。

5、過程/函數中申請的(為打開檔案而使用的)檔案句柄,在過程/函數退出前要關閉。

6、防止記憶體操作越界。

7、時刻注意表達式是否會上溢、下溢。

8、認真處理程式所能遇到的各種出錯情況。

9、系統運作之初,要初始化有關變量及運作環境,防止未經初始化的變量被引用。

10、系統運作之初,要對加載到系統中的資料進行一緻性檢查。

11、嚴禁随意更改其它子產品或系統的有關設定和配置。

12、不能随意改變與其它子產品的接口。

13、充分了解系統的接口之後,再使用系統提供的功能。

14、要時刻注意易混淆的操作符。當編完程式後,應從頭至尾檢查一遍這些操作符。

15、不使用與硬體或作業系統關系很大的語句,而使用建議的标準語句。

16、建議:使用第三方提供的軟體開發工具包或控件時,要注意以下幾點:

(1)充分了解應用接口、使用環境及使用時注意事項。

(2)不能過分相信其正确性。

(3)除非必要,不要使用不熟悉的第三方工具包與控件。

十、代碼編譯

1、編寫代碼時要注意随時儲存,并定期備份,防止由于斷電、硬碟損壞等原因造成代碼丢失。

2、同一項目組内,最好使用相同的編輯器,并使用相同的設定選項。

3、合理地設計軟體系統目錄,友善開發人員使用。

4、打開編譯器的所有告警開關對程式進行編譯。

5、在同一項目組或産品組中,要統一編譯開關選項。

6、使用工具軟體(如Visual SourceSafe)對代碼版本進行維護。

十一、代碼測試、維護

1、單元測試要求至少達到語句覆寫。

2、單元測試開始要跟蹤每一條語句,并觀察資料流及變量的變化。

3、清理、整理或優化後的代碼要經過審查及測試。

4、代碼版本更新要經過嚴格測試。

本文轉自寒意部落格園部落格,原文連結:http://www.cnblogs.com/hnyei/archive/2011/09/23/2185829.html,如需轉載請自行聯系原作者

繼續閱讀