PHP 代碼評審的 10 個提示
本文只代表排名前10的地區,當你接到一個關于PHP項目代碼審核的任務,第二天,一個PHP高級開發者問我從哪里考慮審核PHP web 應用相關的任務.大家集體討論,并提出列表.有趣的是,除了少數,大部分也適用于其他程序語言編寫的應用.如果我在本文中有所疏漏, 歡迎讀者朋友們指出書中存在的問題,并提出指導性意見,不勝感謝。
在這篇文章中提到的以下的關鍵點:
業務功能
框架相關的編碼指南
面向對象原則
PHP-規范標準
編程方式的最佳實踐
設計模式
代碼覆蓋率
安全性
異常處理
集成模式
在進入細節之前,我不得不提到我認為以下8參數(ISO 25000 SQUARE標準)想出不同的代碼復審標準覆蓋代碼質量的方方面面。
功能適用性
可維護性
可用性
安全性
有效性
可靠性
可移植性
兼容性
堅持業務功能
首先,重要的是嘗試,看看是否你可以驗證和驗證如果代碼交付所需的業務功能。這可
能需要你跟業務分析師交流和讓自己清晰這些業務功能。對于遺留項目,對于業務分析師,這是很難抓住。然而,對于正在進行中的項目,它更加簡單了。檢查業務
功能實際上也適用于其他編程語言除了PHP。
框架相關的編碼指南
如下所示的幾個框架可以用于創建基于PHP的web應用程序。你可能會想如果這些代碼可以按照特定的框架編寫達到編碼規范并且最好的情況下能作為框架制定的部分。
面向對象的原則
這一條同樣也適用于其他編程語言。你可能會想檢查PHP代碼是否違反了一下幾條面向對象原則,并且能夠發現指出代碼以及適當的對代碼進行一些重構。
-
單一功能、開閉原則、里氏替換、接口隔離以及依賴反轉
-
不要寫重復代碼
-
適可而止原則
-
迪米特法則即“最少知識原則”
PHP-specific標準
你可能想要方便的PHP編程語言標準和最佳實踐和評審代碼列表。
編程方面的最佳實踐
然后,有些領域使用的數據結構,麥凱布代碼復雜性,您愿意考慮,同時審查代碼對編程方面的最佳實踐。這也適用于其他編程語言。
使用設計模式
這兒有一些PHP設計模式,可以通過一個標準的方式來改善你的代碼結構。從您可能想要查看代碼的角度來看,建議可以應用適當的設計模式,。我發現這種像樣的頁面足夠提及幾個設計模式應用于PHP。
代碼覆蓋率
這是標準的代碼評審練習和一個可能想檢查底層代碼的代碼覆蓋率和強調重要的編寫單元測試。這也適用于其他編程語言。
安全性
截止到今天,安全性是一個重要的領域,需要從業務連續性和聲譽的角度來看,考慮在做代碼審查的安全重要性。你可能想強調使用PHP OWASP library應用在那些基于PHP的應用級安全的應用程序們。你可能也想用PHP security cheat sheet來處理。
異常處理
這是非常重要的方面,考慮到了應用程序的可靠性。這可能是個好主意,對于查看異常/錯誤處理機制/實踐中使用的代碼并且給予適當地建議。這也同樣的適用于其他的編程語言。
集成模式/協議
你可能希望確定用于應用程序和審查依附于標準的設計/代碼規范的集成標準/協議。你可能希望檢查應用程序特地暴露出來作為將來共同集成應用程序的其他應用程序請求的API。這同樣適用于其他的編程語言。