不管是網(wǎng)站開發(fā),仍是軟件開發(fā),都是靠代碼編程一步一步建立的,代碼質(zhì)量的要求有必要高。程序員常用代碼檢查的手法去進(jìn)步代碼質(zhì)量,其完成在有許多的代碼檢查技術(shù),網(wǎng)絡(luò)上也也流傳了許多關(guān)于如何優(yōu)化代碼的技術(shù)攻略,但這其中良莠不齊,今天給大家列了一份代碼檢查清單,梳理了適用于大多數(shù)語言的代碼檢查點(diǎn),希望能夠?yàn)槌绦騿T小伙伴快速有效地檢查代碼供給幫助。
代碼檢查的目的
代碼檢查的終究目的是找出代碼的薄弱點(diǎn)和優(yōu)勢(shì),然后取長補(bǔ)短,找出合適的辦法優(yōu)化代碼以取得更好的功用。 它主要是供給一個(gè)無缺點(diǎn)(至少挨近完美)的運(yùn)用程序,以滿意企業(yè)要求,并一起滿意行業(yè)規(guī)范。
代碼檢查清單
1. 完成企業(yè)要求
代碼能夠滿意企業(yè)要求這是基本的要求。
2.牢不可破,合理驗(yàn)證
驗(yàn)證是很必要的。代碼在任何狀況下都不會(huì)中止,所以在遇到來自用戶端的無效輸入的也不會(huì)中止,否定的、過大的或者無效的格式輸入應(yīng)該在進(jìn)一步處理之前就整理完成,在拜訪之前,應(yīng)該要檢查每個(gè)目標(biāo)的實(shí)際數(shù)據(jù)是否合理。
3.處理呼應(yīng)
不該只是對(duì)服務(wù)器回來的過錯(cuò)音訊進(jìn)行處理,服務(wù)器回來的一切呼應(yīng)都應(yīng)該處理,而且它還應(yīng)該具有標(biāo)題,呼應(yīng)音訊,過錯(cuò)代碼以及任何其他必要的細(xì)節(jié)。在測(cè)試時(shí)要盡量全面的考慮到一切狀況,來防止死鎖,超時(shí)等狀況。
4. 結(jié)構(gòu)規(guī)劃,無規(guī)劃偏差
運(yùn)用軟件規(guī)劃與功用完成闡明文檔是程序規(guī)劃首要做的工作,代碼的編寫一定要嚴(yán)格遵從此文檔,假如呈現(xiàn)任何規(guī)劃更改的狀況,那么在現(xiàn)有代碼完成之前,就要對(duì)其進(jìn)行記錄和規(guī)范化。
5. 單元測(cè)試可靠
每個(gè)中心辦法都要經(jīng)過單元測(cè)試,保證這些辦法都是可用的。
6. 防止代碼重復(fù)
在代碼完成的過程中,程序中很可能會(huì)呈現(xiàn)需求完成相同功用的部分,這時(shí),咱們能夠考慮把這些相同代碼寫成函數(shù),然后直接調(diào)用,防止代碼重復(fù)。
7. 快速呼應(yīng)和可擴(kuò)展性
運(yùn)用程序的呼應(yīng)應(yīng)該是快速的:請(qǐng)求和呼應(yīng)之間沒有長期的推遲、防止原始字符串銜接;代碼是可擴(kuò)展的,能夠處理大量的數(shù)據(jù)和未來可能需求增加的功用。
8.代碼安全
保證代碼在加密認(rèn)證、角色、未經(jīng)授權(quán)的拜訪、目錄瀏覽、SQL注入、跨腳本等方面是安全的,并遵從OWASP安全原則。
9.可辦理
代碼可讀性強(qiáng),有適當(dāng)?shù)淖⑨屒乙子谵k理,辦法的巨細(xì)不超過可讀范圍。
10.規(guī)范化辦法
遵從編碼常規(guī)和規(guī)范,與現(xiàn)有的運(yùn)用程序代碼是共同的,而且不該該存在已被注釋了的代碼和硬編碼。
11.內(nèi)存處理
在運(yùn)用完畢后未主動(dòng)開釋的資源將被開釋。銜接,端口正確關(guān)閉。
12.可追溯性
記錄每筆買賣或需求記錄的日志,然后存儲(chǔ)在存儲(chǔ)庫(作為文件)以及數(shù)據(jù)庫(作為文本)中。能夠在配置文件(例如web.config)中啟用或禁用不同階段的版別。
13.代碼覆蓋率大于95%
代碼覆蓋與單元測(cè)試用例一樣重要。 95%的代碼被覆蓋意味著95%的代碼實(shí)際上是經(jīng)過單元測(cè)試用例測(cè)試的。
14.快速
僅供給需求就能夠便利的獲取資源,必要時(shí)能夠處理龐大的數(shù)據(jù),如分頁等。
15.數(shù)據(jù)安全
運(yùn)行運(yùn)用程序時(shí)不會(huì)呈現(xiàn)編譯器正告。清除開發(fā)過程中運(yùn)用的日志,而且不會(huì)在瀏覽器操控臺(tái)中寫入任何運(yùn)用程序信息,特別是靈敏的信息。
16.第三方東西答應(yīng)
在必要時(shí)運(yùn)用程序可能會(huì)運(yùn)用外部庫,假如它是第三方東西,那么它的答應(yīng)證和法律用途有必要合規(guī)。
高質(zhì)量的代碼不僅能夠徹底滿意用戶的要求,一起它在可擴(kuò)展性和快速呼應(yīng)方面也應(yīng)該表現(xiàn)出色。在這個(gè)各種追求速度的糙快猛創(chuàng)業(yè)公司遍地的世界,假如你能真實(shí)的沉下心來寫好代碼,鋒芒畢露指日可下。 |