自动化代码审查

自动化代码审查

1、学会利用DeepSeek等大模型进行代码审查。
2、学会利用 SonarQube,Checkstyle,Review Board等代码自动审查工具。
3、学会利用Skills等智能体来审查代码。

[实验任务一]:利用DeepSeek等大模型进行代码审查
实验要求:

  1. 将自己写得截止目前代码行最多的源代码文件上传DeepSeek、豆包、文心一言等大语言模型,尝试以下两类提示词“请帮我审查上述代码,看看存在哪些问题”和“请帮我看看以上的代码是否遵循了编码规范,并提出建议”的反馈。
  2. 尝试的大模型至少2个以上,将大模型回答的截图放到本实验报告中(至少4个回答),并提交源代码的压缩文件包以及按照提示修改后的代码压缩包。
  3. 由于每人的代码都不一样,所以本题不会出现雷同回答,如果出现雷同一律0分(切勿将本人答案转发他人,更勿抄袭他人,其它左右也一样)。
    Deepseek:
    问题一:
    image
    image

问题二:
image
image
image
image

豆包:
问题一:
image
image

问题二:
image
image

文心一言:
问题一:
image
image
image

问题二:
image
image
image
image

[实验任务二]:利用SonarQube进行代码审查
实验要求:

  1. 安装SonarQube,并对任务一中的代码进行审查,查看其中的问题,附上SonarQube的报告截图(类似下图)。
    image

  2. 参考报告修改代码。

  3. 安装SonarQube可以从https://www.sonarsource.com/zh/下载,安装可参考 https://longsheng.org/post/13063.html

  4. 尝试利用其它代码审查工具检查代码。
    image

使用pylint分析代码:
image

Pylint检测发现,代码主要存在约40个可优化项,包括2个可能导致运行时错误的Error(如缺少seaborn模块)、大量关于命名不规范和行过长等编码风格问题,以及少量关于代码结构和异常处理的优化建议,整体评分为8.82/10。

[实验任务三]:自己撰写Skills进行代码审查
实验要求:

  1. 在Claude code中撰写Skills进行代码审查。
    image

  2. Skills的中检查代码的规则参照实验3中撰写的评审检查表,写Skills的方法参照https://code.claude.com/docs/zh-CN/skills等说明,可参考thesis-review-under的Skills。

  3. 需要提交Skills文件夹的打包、测试Skills的代码以及在Claude中使用Skills的截图。
    image
    image

  4. 利用扣子、Dify和LangChain构建代码审查的智能体。
    扣子:
    image

image

使用LangChain:
我借助claudecode帮我进行配置并编写代码:
image
image
image
image

posted @ 2026-05-29 14:57  haoyinuo  阅读(6)  评论(0)    收藏  举报