這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)好的編程習(xí)慣有哪些,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)公司長期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為利州企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計,利州網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
一、代碼低耦合
低耦合性是結(jié)構(gòu)良好的程序的特征,低耦合性程序的可讀性、可維護性、可復(fù)用性和擴展性都比較好,而緊耦合模塊或系統(tǒng)過于緊密,以致在對一個對象進行修改時,可能會發(fā)生相互調(diào)用。如果兩個對象耦合得太緊,修改代碼就會成為一場噩夢,而且更容易在每次修改中引入 bug。
二、避開上帝對象
bondObject是一個大型的類或模塊,其中包含太多的變量和函數(shù)。由于以下兩個原因,“知道的太多”和“做的太多”都會導(dǎo)致一些問題。第一,其他的類或模塊將變得對數(shù)據(jù)的過度依賴(緊密耦合)。第二,因為所有的代碼都擠在一個地方,所以整體結(jié)構(gòu)混亂。與上帝對象相比,將它分解成許多小對象可能更好。
三、拒絕長函數(shù)
正如它的名字一樣,長函數(shù)意味著函數(shù)太長。盡管對于一個函數(shù)來說,沒有一個數(shù)字代表多少行代碼“太長”,但是當(dāng)您看到這個函數(shù)時,您就知道它是否太長了。長長的函數(shù)意味著包含太多的功能性實現(xiàn)。通常應(yīng)將長函數(shù)分解為多個子函數(shù),其中每個子函數(shù)都可用于單個任務(wù)或問題。理論上,原始的長函數(shù)會變成子函數(shù)調(diào)用列表,這樣代碼就會更清晰,更易讀。
4.有意義的標(biāo)識符命名
變量名有一兩個字母,函數(shù)名沒有明顯意義,類名被過度修飾,變量名被使用變量類型進行標(biāo)記(例如,b_isCounted代表 Boolean變量),或者混合使用一段代碼中不同的命名規(guī)則,所有這些都會導(dǎo)致代碼難以閱讀,難以理解,難以維護。一般來說,變量名應(yīng)該是簡短的,但是描述性的。一般情況下,函數(shù)名應(yīng)該至少包含一個動詞,而且函數(shù)名應(yīng)該顯示該函數(shù)的功能,但不要使用太多的詞,比如類名。
5.消除幻覺
在瀏覽別人寫的代碼時,你會發(fā)現(xiàn)其中有一些是硬編碼的數(shù)字。他們可能是 if語句的一部分,或某些難以理解的計算,似乎沒有什么意義,當(dāng)您需要修改模塊時,卻不能理解數(shù)字的含義,這會讓您非常煩惱。所以,在編程的時候,一定要不惜一切代價避免這些所謂的“錯數(shù)”。硬碼數(shù)字在書寫過程中有一定意義,但它們很快就失去了意義,尤其是當(dāng)其他人試圖維護您的代碼時。一個解決辦法是留下數(shù)字的注釋,但是更好的辦法是把幻數(shù)轉(zhuǎn)換成常量變量(用于計算)或枚舉(用于 if語句和 switch語句)。代碼的可讀性是通過給幻數(shù)取一個名字來實現(xiàn)的,并且不容易出錯。
6.避免深層次的嵌套
深奧的嵌套代碼并不總是糟糕的,但是可能會有問題,因為它很難理解,尤其是當(dāng)變量沒有正確命名時,更是如此。如果您發(fā)現(xiàn)自己正在編寫一個雙重、三重甚至四重 for循環(huán),那么代碼可能會試圖在超出您自己能力的地方尋找數(shù)據(jù)。然后,您應(yīng)該提供一種方法,讓包含該數(shù)據(jù)的對象或模塊函數(shù)調(diào)用能夠請求該數(shù)據(jù)。而更深層次的嵌套 if語句則表示您嘗試在一個函數(shù)或類中處理過多的邏輯代碼塊。實際上,深層次的嵌套和長函數(shù)經(jīng)常同時出現(xiàn)。如果您的代碼中有大量 switch語句或嵌套的if-then-else語句,則可能需要實現(xiàn) status或 policy模式。
7.簡明代碼
您在程序的多個獨立部分中執(zhí)行相同的邏輯代碼塊,然后發(fā)現(xiàn)需要修改該邏輯代碼塊,但不記得執(zhí)行它的所有位置,假定您最終只修改了5個位置,而實際上需要更改8個位置的代碼塊,這將導(dǎo)致結(jié)果錯誤。轉(zhuǎn)換成函數(shù)通常是一種較好的習(xí)慣,因此如果您需要修改這個邏輯代碼塊,只需修改這個方法,然后將它應(yīng)用到所有調(diào)用它的地方。
八、代碼注釋
這些代碼到處都沒有注釋。不需要對函數(shù)進行功能注釋,不需要概述類,不需要解釋算法等??梢赃@樣說,寫得好的代碼不需要注釋,但是實際上,即使是最好的代碼也沒有注釋容易理解。當(dāng)您編寫注釋時,請記住,您的目標(biāo)是解釋代碼塊為何存在,而不是解釋它正在做什么。注解可以幫助您更好地理解自己和別人的代碼,并且減少工作,所以不要忽視它們。
上述就是小編為大家分享的好的編程習(xí)慣有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享文章:好的編程習(xí)慣有哪些
文章源于:http://jinyejixie.com/article2/jdoiic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、軟件開發(fā)、標(biāo)簽優(yōu)化、商城網(wǎng)站、網(wǎng)站策劃、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)