自動程式碼審查(Automated code review)是可以檢查原始碼是否符合規定的軟件,規定可能是事先定義的規則,或是目前的最佳實務。 自動程式碼審查在開源軟件以及商業軟件的開發中都有用到[1]。 利用分析的方式來檢測及審查程式碼,偵測其中是否有軟件錯誤或是安全問題,已經是標準的開發實務。進行的方式可以用人工確認,也可以用自動化的方式確認[2][3]。隨着自動化,軟件工具可以協助代碼審查及檢查的過程。審查工具一般會列出許多的警告(程式碼違反程式標準)。審查工具也可以修正發現的問題,可以用自動化的修正方式,或是由程式設計師輔助的修正方式。這是容易掌握的軟件中的一部份。有助於軟件智慧的實踐。這個程序常稱為linting,因為Lint是最早期用在靜態程式分析的軟件。

有些靜態程序分析工具可以用來協助自動程式碼審查,這些工具受歡迎的程度不如人工審查,但可以作的更快,更有效率[來源請求]。這些工具也可以封裝一些對底層規則的深入瞭解,以及要進行形態分析需要的語意,因此操作軟件的人工審查者不需要和完全人工審查者一樣,有對程式及業務深入的瞭解[2]。許多集成開發環境(IDE)也有提供基本的自動程式碼審查機能,例如Eclipse[4]Microsoft Visual Studio[5]。集成開發環境也有許多的plugin可以進行程式碼審查。

除了靜態程序分析工具外,也有工具可以分析軟件,並且進行軟件視覺化英語軟體架構視覺化,幫助人理解程式碼。這種系統更着重在分析,因為一般而言其中沒有事先設定要檢查的規則。這類工具(像是Imagix 4D英語Imagix 4D、Resharper、SonarJ、Sotoarc英語Sotoarc、Structure101、ACTool[6])可以讓分析者定義目標架構,確保實際軟件的實現不會違反目標架構的限制條件。

相關條目

參考資料

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.