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