亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Code Style(代碼的風格)

2019-11-17 05:43:35
字體:
來源:轉載
供稿:網友

  1.        簡介

2.        什么是風格?

3.        代碼的風格為什么如此重要?

4.        更少的工作,更多的文檔?

5.        推薦的代碼風格

6.        簡單的文檔

7.        輸出風格

8.        結論



簡介

讓我們面對一下吧…假如您是一個資深的程序員,那么您總是在最后期限下工作并且您的最終目標是完成您設計的軟件。假如您是個新手,您的努力是更多的研究、試驗、當然還有錯誤和一心希望您的程序可以象打算的那樣運行。不管怎樣,當您的程序真的如愿以償的運行時那種成功的感覺令人十分振奮,但更多的程序員發現能夠用良好的風格生成程序內部代碼時的那種自豪的感覺更棒。

假如您是程序設計小組的成員或者假如您還在書寫學校分配的任務,那么您會有機會被要求遵守某些必須遵守的風格規則。 絕大多數的程序員考慮風格這件事就象一個10歲大的孩子看待就寢時間一樣。但資深程序員和我所見過的小組領導及多年來使用許多風格的程序員都會試圖向您傳達良好的代碼風格與您所自得的一些書寫代碼的技巧同樣重要。在這篇文章中我將嘗試包括一些輸出風格的觀點,這也許有助您的編程旅程。

更少的工作,更多的文檔?

因此風格意味著要在代碼的每一行加上注解,對嗎?錯。假如沒有做對的話,注解也會變成一場災難。 我仍然希望一個程序員學會喜歡輸入注解或真正對注解有足夠的重視。為了未來的可維護性必須強制自己正確的放置注解。所以怎么能夠不使用注解?

顯然對一個新手最困難的事是懂得什么是好的變量命名。讓我們看看以下的代碼。您能告訴我下面的代碼是做什么的嗎?

                    float __fastcall TExampleForm::CalcAverageGrade(void)
               {
            int y=0;
            int i=0;
            for (i; i<x; i++) {
                    y=y+g[i];        
               }
            return float(y/x);
                    }
在上面的例子中,您能很輕易的告訴我y代表什么呢?x又是什么呢?這段代碼也許需要一些注釋來解釋這些變量的代表意義及代碼中發生了什么?應用以上的代碼風格,看不出什么邏輯關系?,F在讓我們看看應用更好的代碼風格以后,代碼是何等模樣?

                    float __fastcall TExampleForm::CalcAverageGrade(void)

               {
            int total=0;
            for (int i=0; i<maxGrades; i++)
                    {
                    total+=Grades[i];
               } //求所有成績的和

            return float(total/maxGrades);
               } //計算平均成績
在您除錯時以上兩段代碼孰優孰劣,已不必多說?,F在就讓我們討論一些能夠讓您的代碼更具有可維護性的推薦風格吧。



推薦的代碼風格

1.     使用有描述意義的變量名。

2.     使用i, j, k, l, m作為循環計數變量。這起源于Fortran,自始自終這都是事實上的工業標準。

3.     在閉合括號處為所有的聲明和方法注釋。這樣在嘗試找到與此配對的上一個初始括號時更輕易做決定,尤其在聲明很長時。

4.     考慮將if后面或循環定義體的初始括號放在一個單獨的行上。這真的有助于您找到與其對應的閉合括號。

5.     使用適當的組合運算符 (+=, *=, 等等)。對自增(自減)變量使用++ 和 -–運算符。正確使用這些運算符會使您的代碼更可讀和更一致。這也減少了輸入的字符數量。組合運算符也會幫助編譯器生成更快的代碼。舉例來說,i++產生的asm(匯編)代碼是inc [i],而i=i+1將會產生如下的asm(匯編)代碼mov eax,[i] inc eax mov [i],eax。

6.     注解代碼時,要明智些!假如一段代碼的邏輯關系很復雜,注解將有助于別人理解代碼的意圖。但假如邏輯關系直線向前,避免加上并非必須的注解。要象維護您的代碼一樣維護您的注解!

7.     命名變量時,使用有描述意義的大寫。簡單變量(例如,int, long, String)應該以小寫字符開始。復雜變量(例如,對象、結構、數組)應該以大寫開始。變量名稱中包含的所有單詞都應該大寫開頭。這會讓讀(寫)代碼的人對所訪問的數據類型有一個清楚的第一印象。

8.     避免在變量名中使用下劃線。絕大多數的編譯器中,它都有非凡的意義。

9.     盡可能(而不是瘋狂的)將代碼模塊化。合理的話,將代碼放入函數中去。這答應更好的代碼重用性和可讀性。

10. 使用正確的循環。假如代碼最少要執行一次,使用do-while循環,否則使用while-do循環。假如確切的循環執行次數已知,使用for循環。

11. 在事件發生的數量超過兩種時,只要可能就使用switch聲明。同時,無論何時只要可能就包含一個switch default(缺省開關),這樣總會有一個選項被觸發。Switch聲明很輕易除錯,而且比組合的多重if聲明執行速度更快。

12. 在您代碼中的邏輯步驟之間加上一個空行(例如,定義變量、循環、等等)。

13. 聲明變量的位置非常重要。變量應該聲明的位置幾乎沒有隨意性。當變量用于整個(類)對象或者必須在對象外可見的時候,變量應放在頭文件中。臨時變量假如不需要在if聲明或循環體外被訪問的話,就應在它們內部聲明。不正確的放置變量聲明會導致執行速度減慢、錯誤、或者引起誤導的代碼。

14. 初始化所有的變量。

15. 假如您有非空返回(帶返回值)的函數,確保所有的退出點都使用了return。對編譯器產生的警告"function should return a value"(函數應該返回一個值)要引起足夠重視。這是嚴重警告并且可能導致您的軟件發生隨機錯誤。

16. 在兩個不同類型的變量間賦值時,應對變量進行強制轉換計算來避免編譯器的警告(例如:int x; float y; … y=float x;)。這么做可以防止"Conversion may loose significant digits"的警告。作為一個程序員您的目標應該盡可能的減少警告的數量。而強制類型轉換將消除其中的大多數。

17. 永遠在刪除后將指針設為NULL。


18. 盡量仔細的調查以避免“閉門造舊車”。經過證實的函數與程序使用時優先于新寫的代碼。這會讓您有更多的時間去寫真實的邏輯代碼并且非常有助于維護。盡管盡管動態鏈表的書寫非常有趣,它早已被完成了!

19. 正確的拼寫很重要。假如拼寫有錯的話,將來的搜索會很困難。

20. 永遠不要使用兩個只有大小寫不同的變量名字。

21. 在您創建代碼時就輸入注解,而不是以后。在您修改代碼的時候,保持對注解的維護。

22. 假如您在調試或除錯時注解(rem)了一段代碼的話,確保您最后將被注解的代碼刪除。

23. 最后最重要的是…保持風格的一致。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97久久超碰福利国产精品…| 欧美大胆在线视频| 日韩欧美在线播放| 欧美区在线播放| 精品国产自在精品国产浪潮| 国产成人亚洲综合青青| 欧美午夜丰满在线18影院| 国产精品免费视频xxxx| 色综合久久中文字幕综合网小说| 日韩免费在线电影| 久久久久久久999精品视频| 俺去了亚洲欧美日韩| 欧美高清不卡在线| 粗暴蹂躏中文一区二区三区| 欧美大片免费观看| 亚洲精品乱码久久久久久按摩观| 日韩av日韩在线观看| 欧美老女人性生活| 国产精品午夜视频| 国产精品第100页| 亚洲欧美成人网| 成人国产精品免费视频| 亚洲国产欧美久久| 一区三区二区视频| 欧美色欧美亚洲高清在线视频| 国产精品久久久久久婷婷天堂| 亚洲欧美色婷婷| 国产亚洲精品激情久久| 日韩中文在线中文网在线观看| 欧美成人黄色小视频| 亚洲一区亚洲二区亚洲三区| 亚洲精品白浆高清久久久久久| 欧美国产视频一区二区| 国产成人啪精品视频免费网| 伊人一区二区三区久久精品| 亚洲国产又黄又爽女人高潮的| 日韩在线中文视频| 亚洲精品乱码久久久久久按摩观| 九九久久精品一区| 欧美激情亚洲视频| 欧美wwwwww| 久久久久久久国产| 欧美视频一二三| 亚洲一区二区三区四区在线播放| 北条麻妃一区二区在线观看| 国产91|九色| 欧美男插女视频| 日韩中文理论片| 69久久夜色精品国产69| 国产精品成人av在线| 亚洲精品白浆高清久久久久久| 91午夜在线播放| 欧美午夜精品久久久久久久| 日本欧美精品在线| 精品高清一区二区三区| 欧美激情视频在线| 欧美激情欧美激情在线五月| 久久亚洲精品小早川怜子66| 中国日韩欧美久久久久久久久| 亚洲欧美中文日韩v在线观看| 欧美俄罗斯性视频| 91久久精品美女| 欧美在线观看网站| 久久久www成人免费精品张筱雨| 91日韩在线视频| 九九九热精品免费视频观看网站| 久久久精品在线| 正在播放国产一区| 久久视频国产精品免费视频在线| 毛片精品免费在线观看| 成人网在线视频| 日韩在线观看免费高清| 国产亚洲欧洲黄色| 欧美国产中文字幕| 欧美日韩色婷婷| 日本午夜精品理论片a级appf发布| 国产久一一精品| 国产精品久久久久久av福利软件| 亚洲自拍偷拍网址| 亚洲一区二区三区在线视频| 亚洲成年人在线| 日韩av网站在线| 欧美另类在线播放| 日韩在线激情视频| 日韩美女中文字幕| 日韩不卡在线观看| 国产自产女人91一区在线观看| 欧美精品第一页在线播放| 91视频-88av| 7777精品视频| 精品久久久久久久久久国产| 国产精品久久久久高潮| 成人高清视频观看www| 日韩一区二区久久久| 成人a视频在线观看| 亚洲高清av在线| 久久777国产线看观看精品| 欧美性黄网官网| 2019亚洲日韩新视频| 久久91精品国产91久久久| 久久精品中文字幕电影| 国产精品久久久久久久久久99| 在线播放国产精品| 欧美激情免费在线| 自拍亚洲一区欧美另类| 欧美中文字幕在线视频| 成人国产精品av| 精品自拍视频在线观看| 国产中文字幕日韩| 4438全国成人免费| 国产精品极品在线| 国产欧美一区二区三区久久人妖| 国产亚洲a∨片在线观看| 亚洲视频在线视频| 97成人超碰免| 日韩中文字幕国产精品| 一本色道久久综合亚洲精品小说| 成人性教育视频在线观看| 日韩av网站导航| 午夜精品久久久久久99热软件| 亚洲一区二区三区四区在线播放| 国内免费精品永久在线视频| 国产精品日日摸夜夜添夜夜av| 久久久国产成人精品| 国模精品视频一区二区三区| 夜夜嗨av一区二区三区免费区| 午夜精品久久久久久久久久久久| 永久免费看mv网站入口亚洲| 亚洲视频专区在线| 亚洲福利在线观看| 日韩欧美视频一区二区三区| 国产精品网红福利| 欧美成人精品三级在线观看| 欧美一级免费视频| 狠狠久久五月精品中文字幕| 精品日韩视频在线观看| 国产伦精品一区二区三区精品视频| 91产国在线观看动作片喷水| 伊人亚洲福利一区二区三区| 久久91亚洲精品中文字幕奶水| 亚洲丝袜在线视频| 欧美大尺度激情区在线播放| 91大神在线播放精品| 97久久久免费福利网址| 亚洲欧洲在线视频| 亚洲精品国偷自产在线99热| 亚洲视频免费一区| 国产国语刺激对白av不卡| 国产91精品黑色丝袜高跟鞋| 日本精品免费一区二区三区| 日韩一区二区久久久| 日韩免费av在线| 少妇久久久久久| 中文字幕成人在线| 亚洲日本欧美中文幕| 欧美丝袜一区二区三区| 国产91精品青草社区| 久久精品91久久久久久再现| 国产精自产拍久久久久久蜜| 亚洲精品456在线播放狼人| 欧美激情久久久久| 在线观看成人黄色| 青草青草久热精品视频在线观看| 日韩69视频在线观看|