不管是網(wǎng)站開發(fā),還是軟件開發(fā),都是靠代碼編程一步一步搭建的,代碼質(zhì)量的要求必須高。程序員常用代碼審查的手段去提高代碼質(zhì)量,其實現(xiàn)在有很多的代碼審查技術(shù),網(wǎng)絡(luò)上也也流傳了很多關(guān)于如何優(yōu)化代碼的技術(shù)攻略,但這其中良莠不齊,今天斑驢互聯(lián)小編給大家列了一份代碼審查清單,梳理了適用于大多數(shù)語言的代碼審查點,希望可以為程序員小伙伴快速有效地審查代碼提供幫助。
代碼審查的目的
代碼審查的最終目的是找出代碼的薄弱點和優(yōu)勢,然后揚長避短,找出合適的方法優(yōu)化代碼以獲得更好的性能。 它主要是提供一個無缺陷(至少接近完美)的應(yīng)用程序,以滿足企業(yè)要求,并同時滿足行業(yè)標準。
代碼審查清單
1. 實現(xiàn)企業(yè)要求
代碼能夠滿足企業(yè)要求這是基本的要求。
2.牢不可破,合理驗證
驗證是很必要的。代碼在任何情況下都不會中斷,所以在遇到來自用戶端的無效輸入的也不會中斷,否定的、過大的或者無效的格式輸入應(yīng)該在進一步處理之前就清理完成,在訪問之前,應(yīng)該要檢查每個對象的實際數(shù)據(jù)是否合理。
3.處理響應(yīng)
不應(yīng)只是對服務(wù)器返回的錯誤消息進行處理,服務(wù)器返回的所有響應(yīng)都應(yīng)該處理,而且它還應(yīng)該具有標題,響應(yīng)消息,錯誤代碼以及任何其他必要的細節(jié)。在測試時要盡量全面的考慮到所有情況,來避免死鎖,超時等情況。
4. 結(jié)構(gòu)設(shè)計,無設(shè)計偏差
應(yīng)用軟件設(shè)計與功能實現(xiàn)說明文檔是程序設(shè)計首要做的工作,代碼的編寫一定要嚴格遵循此文檔,如果出現(xiàn)任何設(shè)計更改的情況,那么在現(xiàn)有代碼實現(xiàn)之前,就要對其進行記錄和標準化。
5. 單元測試可靠
每個核心方法都要經(jīng)過單元測試,確保這些方法都是可用的。
6. 避免代碼重復(fù)
在代碼實現(xiàn)的過程中,程序中很可能會出現(xiàn)需要實現(xiàn)相同功能的部分,這時,我們可以考慮把這些相同代碼寫成函數(shù),然后直接調(diào)用,避免代碼重復(fù)。
7. 快速響應(yīng)和可擴展性
應(yīng)用程序的響應(yīng)應(yīng)該是快速的:請求和響應(yīng)之間沒有長時間的延遲、避免原始字符串連接;代碼是可擴展的,能夠處理大量的數(shù)據(jù)和未來可能需要添加的功能。
8.代碼安全
確保代碼在加密認證、角色、未經(jīng)授權(quán)的訪問、目錄瀏覽、SQL注入、跨腳本等方面是安全的,并遵循OWASP安全原則。
9.可管理
代碼可讀性強,有適當?shù)淖⑨屒乙子诠芾?,方法的大小不超過可讀范圍。
10.標準化方法
遵循編碼慣例和標準,與現(xiàn)有的應(yīng)用程序代碼是一致的,并且不應(yīng)該存在已被注釋了的代碼和硬編碼。
11.內(nèi)存處理
在使用結(jié)束后未自動釋放的資源將被釋放。連接,端口正確關(guān)閉。
12.可追溯性
記錄每筆交易或需要記錄的日志,然后存儲在存儲庫(作為文件)以及數(shù)據(jù)庫(作為文本)中??梢栽谂渲梦募?例如web.config)中啟用或禁用不同階段的版本。
13.代碼覆蓋率大于95%
代碼覆蓋與單元測試用例一樣重要。 95%的代碼被覆蓋意味著95%的代碼實際上是通過單元測試用例測試的。
14.快速
僅提供需求就可以方便的獲取資源,必要時可以處理龐大的數(shù)據(jù),如分頁等。
15.數(shù)據(jù)安全
運行應(yīng)用程序時不會出現(xiàn)編譯器警告。清除開發(fā)過程中使用的日志,并且不會在瀏覽器控制臺中寫入任何應(yīng)用程序信息,特別是敏感的信息。
16.第三方工具許可
在必要時應(yīng)用程序可能會使用外部庫,如果它是第三方工具,那么它的許可證和法律用途必須合規(guī)。
高質(zhì)量的代碼不僅可以完全滿足用戶的要求,同時它在可擴展性和快速響應(yīng)方面也應(yīng)該表現(xiàn)出色。在這個各種追求速度的糙快猛創(chuàng)業(yè)公司遍地的世界,如果你能真正的沉下心來寫好代碼,脫穎而出指日可待。
標簽: 南昌網(wǎng)站建設(shè)公司/南昌做網(wǎng)站的公司/南昌微信小程序/南昌APP開發(fā)/—斑驢互聯(lián)