9 个版本 (破坏性更新)
0.8.1 | 2021年5月7日 |
---|---|
0.8.0 | 2020年12月29日 |
0.7.0 | 2020年12月27日 |
#1301 在 开发工具
36KB
904 行
重复代码
一个用于解析目录并扫描其中所有文件的工具,以找到跨文件重复的代码段。
内容
用法
Duplicate Code 会扫描当前目录及其所有子目录以找到每个文件,然后每个文件与其他所有文件进行比较,以找到跨文件的重复代码段。
用法 - 额外标志
标志 | |
---|---|
--ignore-line-regex | 忽略与这些提供的正则表达式匹配的每一行。例如,要忽略Java代码中的导入和包声明,请使用 --ignore-line-regex '^import ' '^package ' 。 |
--ignore-file-regex | 忽略与这些提供的正则表达式匹配的每一文件。例如,要忽略所有XML和CSV文件,请使用 --ignore-file-regex '[.]xml$' '[.]csv$' 。 |
--minimum-successive-lines | 必须匹配的最小连续行数,才能被认为是重复的。默认值为3。 |
--json | 以单行JSON格式输出所有重复信息。因此,它很容易被其他程序存储、摄取和处理。 |
用法 - 记录
使用 pretty_env_logger
和 log
提供日志记录。可以使用环境变量 RUST_LOG
来设置日志级别。有关更详细的文档,请参阅 https://crates.io/crates/pretty_env_logger。
通过本地仓库编译
在本地检查代码仓库,切换到仓库目录,然后通过 cargo 进行构建。使用 --release
标志可以生成优化的二进制文件,但编译时间会更长。
git clone [email protected]:DeveloperC/duplicate_code.git
cd duplicate_code/
cargo build --release
编译的二进制文件位于 target/release/duplicate_code
。
通过Cargo编译
Cargo 是 Rust 的包管理器,使用 install
子命令从 crates.io
提取软件包,然后在本地编译二进制文件。 cargo install
将生成的二进制文件放置在 $HOME/.cargo/bin/duplicate_code
。
cargo install duplicate_code
问题/功能请求
要报告错误/问题或请求新功能,请使用 https://gitlab.com/DeveloperC/duplicate_code/-/issues。
依赖项
~6–16MB
~202K SLoC