# Rust 代码质量分析工具
<a href="https://www.rust-lang.org/"><img src="https://img.shields.io/badge/language-Rust-orange.svg"></a> <a href="https://gitee.com/yizili/is_your_code_rusty"><img src="https://img.shields.io/badge/origin-gitee-cyan.svg"></a> <a href="https://github.com/AnExample698/is_your_code_ruty"><img src="https://img.shields.io/badge/origin-github-magenta.svg"></a> <img src="https://img.shields.io/badge/license-MIT-blue.svg">
一个可配置的 Rust 代码质量分析工具,支持自定义权重和多种输出格式。
## 功能特性
- **多维度分析**:
- 代码复杂度(循环/嵌套深度)
- 命名规范(蛇形命名/长度检查)
- 错误处理(`unwrap`/`expect` 检测)
- 代码重复率(重复行检测)
- 注释质量(密度分析)
- **灵活配置**:
- 可调整各维度权重
- 支持终端彩色输出
- 生成Markdown格式报告
- **智能评估**:
- 加权综合评分 (0-100)
- 中文质量评级(锈迹斑斑/平整如镜等)
- 详细问题摘要
## 安装使用
### 编译安装
```bash
git clone https://github.com/your-repo/rust-code-analyzer.git
cd rust-code-analyzer
cargo build --release
```
### 使用方法
```bash
# 基本用法(终端输出+默认权重)
./is_your_code_rusty [路径]
# 生成Markdown报告
./is_your_code_rusty [路径] -m
# 自定义权重(复杂度,命名,错误处理,重复,注释)
./is_your_code_rusty [路径] -w 0.3 0.2 0.3 0.1 0.1
# 混合使用
./is_your_code_rusty src/ -m -w 0.4 0.1 0.3 0.1 0.1
```
### 全局公开
#### Linux
```bash
sudo cp <is_your_code_rusty的路径> /bin/is_your_code_rusty
```
运行之后重启终端即可使用
## 参数说明
| `-t` | 终端输出模式(默认) |
| `-m` | 生成Markdown报告(`REPORT.md`) |
| `-w` | 设置权重(5个浮点数,总和须为1.0) |
## 权重配置
默认权重分配:
```rust
[0.25, // 复杂度
0.20, // 命名规范
0.20, // 错误处理
0.20, // 代码重复率
0.15] // 注释质量
```
配置示例:
- **强调质量**:`-w 0.4 0.2 0.2 0.1 0.1`
- **严格命名**:`-w 0.2 0.3 0.2 0.2 0.1`
- **轻注释**:`-w 0.3 0.2 0.2 0.2 0.1`
## 输出示例
### 终端输出

### Markdown报告
```markdown
# Rust项目代码质量报告
## 权重配置
| 复杂度 | 0.25 |
| 命名规范 | 0.20 |
| 错误处理 | 0.20 |
| 重复率 | 0.20 |
| 注释质量 | 0.15 |
## 总体评价
| 综合评分 | 69.7 | 反光 |
## 1. main.rs
**评价**:
| 综合评分 | - | 69.7 | 反光 | 有改进空间 |
| 复杂度 | 0.25 | 100.0 | 优秀 | 结构清晰 |
| 命名规范 | 0.20 | 48.6 | 不足 | 部分命名不符规范 |
| 错误处理 | 0.20 | 60.0 | 一般 | 错误处理基本完善 |
| 重复率 | 0.20 | 100.0 | 优秀 | 无重复代码 |
| 注释质量 | 0.15 | 20.0 | 不足 | 注释严重不足 |
```
## 许可证
MIT License © 2023 [Your Name]