一、概述
Simian是一個可跨平台使用的重復代碼檢測工具,有商用和免費兩種使用渠道,官方網址為:http://www.harukizaemon.com/simian/installation.html,能夠檢測代碼片段中除了空格、注釋及換行外的內容是否完全一致,且支持的語言十分廣泛,包括:
- Java
- C#
- C++
- C
- Objective-C
- JavaScript (ECMAScript)
- COBOL, ABAP
- Ruby
- Lisp
- SQL
- Visual Basic
- Groovy
- Swift
二、安裝與使用
直接下載文件http://www.harukizaemon.com/simian/get_it_now.html,推薦下載.MD5版本,保證下載的文件是完整的。下載后解壓,無需安裝即可使用。
Windows平台使用bin目錄下的exe,linux平台可執行bin目錄下的simian*.jar。
三、示例
c:\>simian.exe [options] files
一些參數:
- 檢查包括子目錄下的所有的c#文件:
"-recurse=*.cs"
- 檢查當前目錄下的所有c#文件 ,並且只檢查代碼3行以上重復的代碼
-threshold=3 "*.cs"
- 在當前目錄的所有子文件夾下檢測所有c和h后綴的文件:
**/*.c **/*.h
- 檢測兩個不同目錄下的所有java文件:
"/csharp-source/*.cs" "/java-source/*.java"
- 檢測所有子目錄下的所有java文件,包括test類:
-includes=**/*.java -excludes=**/*Test.java
- 檢測當前目錄下的所有java文件,且忽略其中的數字的不同:
-ignoreNumbers "*.java"
- 檢測所有java文件,並以xml格式顯示結果:
-formatter=xml "*.rb"
- 從文件中讀取配置參數(文件中一行只能包括一個simian有效的參數):
-config=simian.config