AI编程助手带来的问题
自从AI技术发展以来
一直有一种说法
AI将替代程序员的岗位
各大厂商提供的大模型
基本上都涵盖了编程辅助功能
有如阿里达摩院
甚至还推出了通义灵码编程助手
以及工号 AI001 的虚拟员工
不禁有人要问
我还能干到35岁吗
实际操练使用之后
我对AI编程的评价是
可以解决一些问题,例如算法实现
但针对具体业务的代码实现
还是有一些问题的
需要程序员进行人工甄别
如何审计代码
很多人都觉得
审计是项目组长、技术经理这些管理层的事
与吾何干
其实有了AI工具之后
他们就相当于我们手下的小程序员
对它们做代码审计、甄别质量
变成了很重要的一件事
作为自己成果的一部分
相当于完成自测的必要步骤
今天给大家推荐一款工具 Sonar
实现自动化审计功能
何为 Sonar
这是一款由sonarsource发布的产品线
宣传语叫做 keep AI generated code clean
即确保AI生成的代码是合格的
让我们充分利用到AI助手的强大功能
而不会出现糟糕、不安全的代码风险
它的产品线包括三个组成部分:
sonarlint、sonarqube、sonarcloud
sonarlint 用于IDE插件
对自己本地的代码进行检查
sonarqube 是一个服务器软件
可以和GIT等平台进行交互
对漏洞和问题进行分析
sonarcloud 是云原生的服务组件
提供云端的分析功能,且和CI/CD流程结合运用
sonarlint 快速入门
我们先从最简单的入手
sonarlint 提供各种IDE的插件
让我们在开发工具中就可以简单集成使用
例如常用的 VS Code、Intellij IDEA、Visual Studio、Eclipse、PyCharm、Android Studio 都提供对应的插件功能
每一种安装方法略有不同
安装
这里举几个例子
VS Code 是最常见的轻量IDE
它自带插件扩展功能
只需在扩展搜索里查找 sonar
就能看到好几个选项
选择第一个 SonarLint 即可
点击 install 进行安装
非常简单
安装完成后
在扩展图标的下面
会多一个圆形图标 SonarLint
点进进去
可以看到Rules规则设置
包括各种语言的本地离线分析规则
也可以选择 Connected Mode
允许连到特定的 SonarQube 或 SonarCloud 服务端
使用服务器配置的分析规则
大家可以先不做改动
直接先使用本地默认
使用
安装好之后使用非常简单
只需打开对应的源代码文件
Sonar就会在后台自动分析
并将结果显示在 问题 Problem 面板中
比如无效的代码
不安全的写法
看起来和IDE普通的错误提示很相似
但它的角度是不一样的
一般的错误提示
告诉你的是这里有错
而Sonar给的提示
更多的是告诉你
这样写不好
应该换一种高效、安全的写法
这不就和AI助手匹配上了吗
AI管代码生成
Sonar负责代码分析审计
珠联璧合天生一对
其他的IDE
可以通过各自的插件市场进行安装
认准关键词 Sonar 就可以了
弯道超车
年轻的同学面对公司的前辈大佬
经常有一些高山仰止的感觉
心想,我什么时候也能如此NB
那么机会来了
有些工具可以让我们事半功倍
甚至还能从中学到各种技巧
何乐而不为呢
反正不要钱
还不赶紧试试