天天看點

Sonar實戰【開源代碼品質管理平台】

随着項目的展開,代碼的品質需要定期的檢查,除了Code Review外,使用工具進行定期的檢查規範等很重要,Sonar就是這樣一個平台。

Sonar是一個開源代碼品質管理平台。以下是它的主要特點:

代碼覆寫:通過單元測試,将會顯示哪行代碼被選中

改善編碼規則

搜尋編碼規則:按照名字,插件,激活級别和類别進行查詢

項目搜尋:按照項目的名字進行查詢

對比資料:比較同一張表中的任何測量的趨勢

Sonar實戰【開源代碼品質管理平台】

項目使用maven管理比較友善使用

2、項目目錄下放置如下的檔案sonar-project.properties

# required metadata

sonar.projectKey=com.demo:mydemo

sonar.projectName=demo

sonar.projectVersion=1.0

# path to source directories (required)

sources=src/main/java

# path to test source directories (optional)

#tests=testDir1,testDir2

# path to project binaries (optional), for example directory of Java bytecode

#binaries=binDir

# path to project libraries (optional)

libraries=junit.jar

#Uncomment those lines if some features of java 5 or java 6 like annotations, enum, ...

#are used in the source code to be analysed

#sonar.java.source=1.5

#sonar.java.target=1.5

#Uncomment this line to analyse a project which is not a java project.

#The value of the property must be the key of the language.

#sonar.language=cobol

# advanced parameters

#my.property=value

3、項目目錄下執行sonar-runner,此時進行相應各種處理

Sonar實戰【開源代碼品質管理平台】

可以看到項目的代碼量、類分布等等各項名額,這個軟體內建了很多的Java的一些開源的分析、測試等工具,是以具體的功能很豐富

如果在Eclipse中使用,參考如下的内容安裝即可

<a href="http://docs.codehaus.org/display/SONAR/Installing+Sonar+Eclipse">http://docs.codehaus.org/display/SONAR/Installing+Sonar+Eclipse</a>

Update site

<a href="http://dist.sonar-ide.codehaus.org/eclipse/">http://dist.sonar-ide.codehaus.org/eclipse/</a>

Eclipse Marketplace

<a href="http://marketplace.eclipse.org/content/sonar">http://marketplace.eclipse.org/content/sonar</a>

<a href="http://nemo.sonarsource.org/">http://nemo.sonarsource.org/</a>

<a href="http://docs.codehaus.org/display/SONAR/1.+Install">http://docs.codehaus.org/display/SONAR/1.+Install</a>

Eclipse增強包括可以在本地進行分析

Sonar作為一個平台,可以在服務端運作,并記錄每次的品質情況,是以可以進行項目的代碼品質的跟蹤

比如Csharp的分析,就內建了Fxcop StyleCop等各種工具,不過相對java來說,工具還是少一些,和VS Team foundation想必,對于代碼的管理有很多優點,實際項目中可以作為這個tfs的補充使用【可以量化的看到代碼的演變曆史】