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