1) 瞭解代碼審查的含義;java
2) 掌握相關編程規範檢查工具的安裝與使用;python
Code Review中文應該譯做「代碼審查」或是「代碼評審」或「代碼複查」,是指經過閱讀代碼來檢查源代碼與編碼標準的符合性以及代碼質量的活動。Code Review主要用來在軟件工程過程當中改進代碼質量,經過代碼評審能夠達到以下目的:git
●在項目早期就可以發現代碼中的BUGgithub
●幫助初級開發人員學習高級開發人員的經驗,達到知識共享編程
●避免開發人員犯一些很常見,很普通的錯誤安全
●保證項目組人員的良好溝通架構
●項目或產品的代碼更容易維護eclipse
代碼評審主要內容是編程規範,重構方法,架構設計,性能安全,日誌,可讀性,擴展性等問題。經過代碼評審可查找和修復引入到開發階段的應用程序的錯誤,提升軟件的總體素質和開發者的技能。代碼評審的做用和意義已在不少技術團隊內達成共識,但是不少時候並未被有效執行,甚至被認爲是一項費時費力的工做。藉助一些工具能夠更容易,更有效率地來進行Code Review。ide
一、以小組形式,針對前面「實驗一」中所完成的代碼,進行代碼評審(走查),重點檢查如下狀況。你也可有查詢相關材料,創建更細化的檢查清單(check list)模塊化
- 程序是否能正常工做,代碼是否實現預期的功能,邏輯是否正確。
- 代碼是否遵循的編程規範
- 代碼是否儘量的模塊化
- 全部的數據輸入是否都進行了檢查
- 是否有註釋,而且描述了代碼的意圖
- 代碼的可理解性和可測試性
二、按「實驗二」的分組方式,兩人一組,隨機分配另外一組的代碼做爲本組評審和分析的對象
一些編碼規範的檢查工具以下,也可自行查找工具使用。
java語言
- 採用使用eclipse Checkstyle插件
- CheckStyle是SourceForge下的一個項目,提供了一個幫助JAVA開發人員遵照某些編碼規範的工具。它可以自動化代碼規範檢查過程,從而使得開發人員從這項重要但枯燥的任務中解脫出來。它能夠根據設置好的編碼規則來檢查代碼。好比符合規範的變量命名,方法體的最大行數,重複代碼檢查等等。
若是你使用idea ,可使用Alibaba Java Code Guidelines插件,參考連接以下:https://github.com/alibaba/p3c/wiki/IDEA%E6%8F%92%E4%BB%B6%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3
C++語言
- 可以使用Google代碼規範工具Cpplint。
- Cpplint是一個python腳本,Google使用它做爲本身的C++代碼規範檢查工具,VSCcode可配置Cpplint對C++代碼進行規範檢查。
python
- 可採用pylint
- Pylint 是一個 Python 代碼分析工具,它分析 Python 代碼中的錯誤,查找不符合代碼風格標準(Pylint 默認使用的代碼風格是 PEP 8,具體信息,請參閱參考資料)和有潛在問題的代碼。目前在 eclipse 的 pydev 插件中也集成了 Pylint,VSCcode可安裝pylint插件
當發現了項目存在的問題後,可經過Bug跟蹤系統向項目維護者反饋問題(issue),管理Issue的系統稱爲BTS(Bug Tracking System,Bug跟蹤系統)。當今具備表明性的BTS有Redmine、Trac、BugZilla等。GitHub自身也加入了BTS的功能。在GitHub上,能夠將它做爲軟件開發者之間的交流工具。經過github的issues功能開發者能夠便捷的發現軟件的BUG並報告,想向項目全部人詢問或用來追蹤各類想法探討準備實施的任務。
(1)在git中克隆下一小組的倉庫。在電腦上運行,檢查後,符合實驗要求。
(2)使用工具對原始代碼進行評審和分析,記錄結果,期間不要有任何修改;使用eclipse Checkstyle插件自動化代碼規範檢查,結果以下:
(3)對工具執行結果進行人工分析,結合檢查清單和人工走查的出代碼。出現的問題都是代碼的縮進,空格,空行,一行的字符數限制和定義變量不符合標準。
以下圖:
(4)經過github issues向項目維護者提交問題(issue),以下:
經過本次實驗讓我瞭解到代碼的規範,在對其餘小組進行代碼評審中深入認識到了平時寫代碼的不規範,經過此次實驗,在之後寫代碼的過程當中要規範代碼,嚴謹對待。