From code-review
代码质量与复杂度静态分析能力 - 提供改进建议与报告。 当用户说"分析代码"、"代码质量"、"复杂度分析"、"代码审查"、"静态分析"、"代码评估"、"重构建议"、"代码评分"时使用此技能。 支持代码质量评估(可读性、命名规范)、复杂度分析(圈复杂度、嵌套深度)、代码重复检测、最佳实践检查(SOLID原则、设计模式)。 输出包含质量评分、改进建议和重构示例。
How this skill is triggered — by the user, by Claude, or both
Slash command
/code-review:code-analysisThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
专业的代码分析技能,能够深入评估代码质量、识别潜在问题并提供改进建议。
专业的代码分析技能,能够深入评估代码质量、识别潜在问题并提供改进建议。
Code Analysis 技能提供全面的代码静态分析能力,包括代码质量评估、复杂度分析、代码重复检测和最佳实践检查。
# 分析单个文件
/code-analysis src/components/UserProfile.jsx
# 分析整个目录
/code-analysis src/services/ --depth deep
# 生成分析报告
/code-analysis src/ --format report --output analysis-report.md
# 专注特定问题类型
/code-analysis src/utils/calculator.js --focus complexity
可读性 (Readability)
复杂性 (Complexity)
可维护性 (Maintainability)
健壮性 (Robustness)
# 代码分析报告
## 基本信息
- **文件路径**: src/components/UserProfile.jsx
- **语言**: JavaScript/React
- **代码行数**: 245行
- **函数数量**: 8个
- **分析时间**: 2024-01-15 14:30:00
## 质量评分
| 维度 | 评分 | 说明 |
|-----|------|------|
| 可读性 | 7.5/10 | 整体清晰,部分变量名需要改进 |
| 复杂性 | 6.0/10 | 函数较长,嵌套较深 |
| 可维护性 | 6.5/10 | 耦合度适中,需要更好的模块化 |
| 健壮性 | 5.0/10 | 缺少边界条件处理 |
## 详细分析
### 🟢 优秀实践
1. 使用了现代ES6+语法
2. 组件结构清晰
3. Props类型定义完整
### 🟡 需要改进
1. 函数过长(第45-120行,75行)
2. 嵌套层级过深(最深4层)
3. 部分变量名不够描述性
### 🔴 严重问题
1. 缺少错误边界处理
2. 内存泄漏风险(事件监听器未清理)
## 改进建议
### 1. 重构长函数
将 `handleUserUpdate` 函数拆分为多个小函数:
```javascript
// 当前代码(75行)
const handleUserUpdate = async (userData) => {
// 75行复杂逻辑...
};
// 建议重构为
const validateUserData = (data) => { /* 验证逻辑 */ };
const prepareUpdateData = (data) => { /* 数据准备 */ };
const updateUserProfile = async (data) => { /* 更新逻辑 */ };
const handleUpdateSuccess = (result) => { /* 成功处理 */ };
const handleUpdateError = (error) => { /* 错误处理 */ };
const handleUserUpdate = async (userData) => {
try {
validateUserData(userData);
const updateData = prepareUpdateData(userData);
const result = await updateUserProfile(updateData);
handleUpdateSuccess(result);
} catch (error) {
handleUpdateError(error);
}
};
使用早期返回减少嵌套:
// 改进前
const processUser = (user) => {
if (user) {
if (user.active) {
if (user.verified) {
// 处理逻辑
}
}
}
};
// 改进后
const processUser = (user) => {
if (!user) return;
if (!user.active) return;
if (!user.verified) return;
// 处理逻辑
};
## 配置选项
可以通过 `.code-analysis.json` 配置分析规则:
```json
{
"analysis": {
"maxFunctionLength": 30,
"maxNestingDepth": 3,
"maxComplexity": 10,
"excludePatterns": [
"*.test.js",
"*.spec.js",
"node_modules/**",
"dist/**"
],
"rules": {
"naming": {
"enabled": true,
"camelCase": true,
"snake_case": false
},
"complexity": {
"enabled": true,
"maxCognitiveComplexity": 15
},
"duplicates": {
"enabled": true,
"minLines": 5,
"similarity": 0.8
}
}
}
}
# GitHub Actions 示例
name: Code Analysis
on: [push, pull_request]
jobs:
analyze:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run Code Analysis
run: |
npm install
npm run lint
npm run test:coverage
npx sonar-scanner
通过持续的代码分析和改进,可以显著提升代码质量,降低维护成本,提高开发效率。
npx claudepluginhub protagonistss/ithinku-plugins --plugin code-reviewAssesses code maintainability using 5 qualities: cohesion, coupling, encapsulation, testability, non-redundancy. Scores methods/classes/modules across languages; generates markdown/JSON/HTML reports with remediation guidance.
Assesses code maintainability using 5 qualities (cohesion, coupling, encapsulation, testability, non-redundancy) with scoring rubrics across languages at method/class/module levels. Generates markdown reports with remediation guidance.
Analyzes code structure, complexity, and quality using cyclomatic and cognitive complexity metrics, detects code smells like long methods and god objects, and suggests refactoring strategies.