自動程式碼審查

自動程式碼審查 （ Automated code review ） 是可以檢查原始碼是否符合規定的軟體 ， 規定可能是事先定義的規則 ， 或是目前的最佳實務 。 自動程式碼審查在開源軟體以及商業軟體的開發中都有用到 。 利用分析的方式來檢測及審查程式碼 ， 偵測其中是否有軟體錯誤或是安全問題 ， 已經是標準的開發實務 。 進行的方式可以用人工確認 ， 也可以用自動化的方式確認 。 隨著自動化 ， 軟體工具可以協助代碼審查及檢查的過程 。 審查工具一般會列出許多的警告 （ 程式碼違反程式標準 ） 。 審查工具也可以修正發現的問題 ， 可以用自動化的修正方式 ， 或是由程式設計師輔助的修正方式 。 這是容易掌握的軟體中的一部份 。 有助於軟體智慧的實踐 。 這個程序常稱爲linting ， 因爲Lint是最早期用在靜態程式分析的軟體 。 有些靜態程序分析工具可以用來協助自動程式碼審查 ， 這些工具受歡迎的程度不如人工審查 ， 但可以作的更快 ， 更有效率 。 這些工具也可以封裝一些對底層規則的深入瞭解 ， 以及要進行形態分析需要的語意 ， 因此操作軟體的人工審查者不需要和完全人工審查者一樣 ， 有對程式及業務深入的瞭解 。 許多集成開發環境 （ IDE ） 也有提供基本的自動程式碼審查機能 ， 例如Eclipse及Microsoft Visual Studio 。 集成開發環境也有許多的plugin可以進行程式碼審查 。 除了靜態程序分析工具外 ， 也有工具可以分析軟體 ， 並且進行 ， 幫助人理解程式碼 。 這種系統更著重在分析 ， 因爲一般而言其中沒有事先設定要檢查的規則 。 這類工具 （ 像是 、 Resharper 、 SonarJ 、 、 Structure101 、 ACTool ） 可以讓分析者定義目標架構 ， 確保實際軟體的實現不會違反目標架構的限制條件 。