zoukankan      html  css  js  c++  java
  • 使用Simian进行重复代码检测

    一、概述

    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
  • 相关阅读:
    Redis 错误摘记篇
    搭建备份到业务迁移---mysql
    业务迁移---web
    业务迁移---redis
    redis 编译安装错误问题
    location 匹配规则 (NGINX)
    nginx虚拟目录实现两个后台使用
    零基础学python-19.10 生成器是单迭代器
    零基础学python-19.9 生成器函数与生成器表达式
    零基础学python-19.8 生成器表达式:当迭代器遇上列表解析
  • 原文地址:https://www.cnblogs.com/ttssrs/p/10313210.html
Copyright © 2011-2022 走看看