欧美麻豆久久久久久中文_成年免费观看_男人天堂亚洲成人_中国一级片_动漫黄网站免费永久在线观看_国产精品自产av一区二区三区

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁 > IT資訊 > 軟件研發(fā) > 揭秘好的編程習慣是什么?

揭秘好的編程習慣是什么?

2020-07-06 15:24:08 | 來源:中培企業(yè)IT培訓網(wǎng)

無論是在招聘中還是領導者下達要求時,程序員都必須養(yǎng)成良好的編程習慣,但是到底好的編程習慣是什么呢?其實好的編程有很多,例如:簡明代碼、消除幻覺、代碼注釋、代碼低耦合、避開上帝對象、拒絕長函數(shù)、有意義的標識符命名、避免深層次的嵌套等等都是好的編程習慣。“但是道理大家都懂,可是做起來卻是非常難的。”今天本文就詳細介紹一下好的編程習慣,讓我們看看您的編程習慣是否“優(yōu)秀”。

  一、簡明代碼

您在程序的多個獨立部分中執(zhí)行相同的邏輯代碼塊,然后發(fā)現(xiàn)需要修改該邏輯代碼塊,但不記得執(zhí)行它的所有位置,假定您最終只修改了5個位置,而實際上需要更改8個位置的代碼塊,這將導致結(jié)果錯誤。轉(zhuǎn)換成函數(shù)通常是一種較好的習慣,因此如果您需要修改這個邏輯代碼塊,只需修改這個方法,然后將它應用到所有調(diào)用它的地方。

  二、消除幻覺

在瀏覽別人寫的代碼時,你會發(fā)現(xiàn)其中有一些是硬編碼的數(shù)字。他們可能是 if語句的一部分,或某些難以理解的計算,似乎沒有什么意義,當您需要修改模塊時,卻不能理解數(shù)字的含義,這會讓您非常煩惱。所以,在編程的時候,一定要不惜一切代價避免這些所謂的“錯數(shù)”。硬碼數(shù)字在書寫過程中有一定意義,但它們很快就失去了意義,尤其是當其他人試圖維護您的代碼時。一個解決辦法是留下數(shù)字的注釋,但是更好的辦法是把幻數(shù)轉(zhuǎn)換成常量變量(用于計算)或枚舉(用于 if語句和 switch語句)。代碼的可讀性是通過給幻數(shù)取一個名字來實現(xiàn)的,并且不容易出錯。

  三、代碼注釋

這些代碼到處都沒有注釋。不需要對函數(shù)進行功能注釋,不需要概述類,不需要解釋算法等。可以這樣說,寫得好的代碼不需要注釋,但是實際上,即使是最好的代碼也沒有注釋容易理解。當您編寫注釋時,請記住,您的目標是解釋代碼塊為何存在,而不是解釋它正在做什么。注解可以幫助您更好地理解自己和別人的代碼,并且減少工作,所以不要忽視它們。

  四、代碼低耦合

低耦合性是結(jié)構(gòu)良好的程序的特征,低耦合性程序的可讀性、可維護性、可復用性和擴展性都比較好,而緊耦合模塊或系統(tǒng)過于緊密,以致在對一個對象進行修改時,可能會發(fā)生相互調(diào)用。如果兩個對象耦合得太緊,修改代碼就會成為一場噩夢,而且更容易在每次修改中引入 bug。

  五、避開上帝對象

bondObject是一個大型的類或模塊,其中包含太多的變量和函數(shù)。由于以下兩個原因,“知道的太多”和“做的太多”都會導致一些問題。第一,其他的類或模塊將變得對數(shù)據(jù)的過度依賴(緊密耦合)。第二,因為所有的代碼都擠在一個地方,所以整體結(jié)構(gòu)混亂。與上帝對象相比,將它分解成許多小對象可能更好。

  六、拒絕長函數(shù)

正如它的名字一樣,長函數(shù)意味著函數(shù)太長。盡管對于一個函數(shù)來說,沒有一個數(shù)字代表多少行代碼“太長”,但是當您看到這個函數(shù)時,您就知道它是否太長了。長長的函數(shù)意味著包含太多的功能性實現(xiàn)。通常應將長函數(shù)分解為多個子函數(shù),其中每個子函數(shù)都可用于單個任務或問題。理論上,原始的長函數(shù)會變成子函數(shù)調(diào)用列表,這樣代碼就會更清晰,更易讀。

  七、有意義的標識符命名

變量名有一兩個字母,函數(shù)名沒有明顯意義,類名被過度修飾,變量名被使用變量類型進行標記(例如,b_isCounted代表 Boolean變量),或者混合使用一段代碼中不同的命名規(guī)則,所有這些都會導致代碼難以閱讀,難以理解,難以維護。一般來說,變量名應該是簡短的,但是描述性的。一般情況下,函數(shù)名應該至少包含一個動詞,而且函數(shù)名應該顯示該函數(shù)的功能,但不要使用太多的詞,比如類名。

  八、避免深層次的嵌套

深奧的嵌套代碼并不總是糟糕的,但是可能會有問題,因為它很難理解,尤其是當變量沒有正確命名時,更是如此。如果您發(fā)現(xiàn)自己正在編寫一個雙重、三重甚至四重 for循環(huán),那么代碼可能會試圖在超出您自己能力的地方尋找數(shù)據(jù)。然后,您應該提供一種方法,讓包含該數(shù)據(jù)的對象或模塊函數(shù)調(diào)用能夠請求該數(shù)據(jù)。而更深層次的嵌套 if語句則表示您嘗試在一個函數(shù)或類中處理過多的邏輯代碼塊。實際上,深層次的嵌套和長函數(shù)經(jīng)常同時出現(xiàn)。如果您的代碼中有大量 switch語句或嵌套的if-then-else語句,則可能需要實現(xiàn) status或 policy模式。

以上就是關(guān)于好的編程習慣是什么的全部內(nèi)容介紹,當然好的編程習慣不止是這些,想了解更多編程習慣的信息,請繼續(xù)關(guān)注中培偉業(yè)。

主站蜘蛛池模板: 亚洲AV无码男人的天堂 | 国产AV熟妇人震精品一品二区 | 网友自拍视频在线观看 | 亚洲精品白浆高清久久久久久 | 国产伦孑沙发午休精品 | 在线成人爽A毛片免费软件 在线观看片a免费观看岛国 | 国产人无码a在线西瓜影音 欧美人牲口杂交在线播放免费 | 岛国视频在线免费观看 | 亚洲国产成人AV片在线播放 | 精品熟女日韩中文十区 | 97在线观看视频 | 五月天人体艺术 | 伊伊综合在线视频无码 | 黄色的视频在线观看 | 无码AV潮喷 | 在线观看亚洲AV日韩A∨ | 国产乱码一区二区三区 | 麻豆成年进入人口 | 7777欧美成是人在线观看 | 毛片区 | 无码制服丝袜人妻在线视频 | xxxx中国hd | 无翼乌之侵犯工口全彩老师 | 中文字幕_第2页_高清免费在线 | 精品无码人妻夜人多侵犯18 | 99久久成人精品国产网站 | 最新在线精品国自产拍视频 | 99久久国产综合精品成人影院 | 特级做a爰片毛片免费看无码 | 黑人与人妻无码中字视频 | 小sao货的yin荡之路 | 妃子涨奶和侍卫h | 亚洲AV嫩草AV极品A片 | 7777久久久国产精品消防器材 | 中文字幕乱人伦高清视频 | 国产成人亚洲精品无码青 | 免费观看的无遮挡AV | 国产精品久久人妻互换毛片 | 中文无码AV一区二区三区 | 巨胸喷奶水视频WWW免费网站 | 午夜免费观看_视频在线观看 |