目录

[高软第八组] 智能代码分析器 (Smart Code Analyzer)

📌 项目简介

[cite_start]本项目是高级软件工程课程的期末作业交付成果 [cite: 3]。这是一款基于 VS Code Extension API 开发的高阶代码质量实时监控工具。 [cite_start]工具能够实时监听编辑器中的代码变动 [cite: 4][cite_start],通过底层引擎将代码转化为 AST(抽象语法树)[cite: 5][cite_start],并计算圈复杂度(Cyclomatic Complexity),最终在函数正上方通过 CodeLens 悬浮显示得分与状态提示 [cite: 7]。

🚀 核心功能

  • 实时度量:基于 Language Server Protocol (LSP) 架构,代码修改毫秒级响应,不卡顿编辑器。
  • 多语言支持:原生支持 TypeScript、JavaScript,并可扩展支持 Vue、React (JSX/TSX) 等文件。
  • 智能预警机制
    • 🟢 极佳:代码结构清晰,易于维护。
    • 🟡 注意:逻辑开始变得复杂,建议关注。
    • 🟠 警告:函数过于复杂,存在较高的维护风险。
    • 🔴 极度危险:代码逻辑已失控,触发红线报警,必须重构!

🛠️ 技术架构与依赖

本项目采用了前后端分离的插件架构:

  • 开发语言:TypeScript
  • [cite_start]AST 引擎typescript (Compiler API) [cite: 19]
  • 算法核心tsmetrics-core (负责遍历语法树并计算 if/for/switch 等节点权重)
  • 前端交互vscode-languageclient (负责配置读取与 UI 渲染)

👥 小组分工

本项目由第八组全体成员协作完成:

  • [cite_start]**同学 A (统筹与架构)**:负责项目全局架构配置、UI 深度本地化(汉化)、环境搭建与打包 [cite: 9, 11, 17]。
  • [cite_start]**同学 B (算法与底层)**:负责 AST 抽象语法树解析逻辑梳理、圈复杂度核心算法引擎破解 [cite: 22, 23]。
  • [cite_start]**同学 C (测试与品控)**:负责 UI 悬浮窗逻辑接管、极端测试用例(如多层嵌套的“屎山代码”)编写与功能验证 [cite: 33, 38, 42]。
  • [cite_start]**同学 D (展示与总结)**:负责梳理项目整体逻辑、制作答辩 PPT 及最终的汇报展示 [cite: 47]。

💻 运行与调试指南

  1. 确保本地已安装 Node.js (推荐 v18+)。
  2. 在项目根目录终端运行 npm install 安装所有核心依赖库。
  3. 在 VS Code 中打开项目,按下 F5 启动“扩展开发宿主”窗口即可体验。
关于

第八组软件开发实践——代码打分

52.0 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802032778号