前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用SonarQube检查C语言代码规范

用SonarQube检查C语言代码规范

作者头像
顾翔
发布2020-06-28 16:44:52
3.8K0
发布2020-06-28 16:44:52
举报

用SonarQube进行JAVA语言代码规范的文章在网上不少,但是介绍非JAVA语言(比如C语言)的不多,在这里我们以C语言给大家介绍(Windows环境)。

1 下载C语言代码插件到SonarQube主目录的%SonarQube_HOME%\extensions\plugins目录下。我这里选用的是sonar-c-plugin-1.3.1.1807.jar。

2 打开网页,输入http://127.0.0.1:9000,登录SonarQube,在系统-配置处点击重启服务,重新启动SonarQube。不要着急,系统并没有重启。在任务管理器中找到java进程,结束进程,然后在%SonarQube_HOME%\bin\windows-x86-64下运行StartSonar.bat重新启动SonarQube。

3 重新登录SonarQube后,在代码规则处会发现C (Community)。

4 进入“质量配置”,在左上角选择“创建”,输入名称,语言选择C(Community)。

输入完毕会发现产生刚刚建立的质量配置。

5 点击配置,选择“设为默认”,然后点击“激活更多规则”。

6 点击右上方的“批量修改->激活C语言规则”,选择“应用”。

但是在这里我建议公司或者团队小组组织在一起,仔细评估每一条规则,如果这条规则适合本公司再确认,否则可以不确认(即使确认了,也可以选择挂起,取消确认)。

7 点击屏幕右上角的+号,创建新项目。

8 如下图所示输入“项目标识”与“显示名”(一般二者一致)

9 点击设置,可以设置新的令牌或者选择以前建立过的令牌。我在这里选用老的令牌。

10 选择语言和操作系统,当我们选择非Java语言,系统会让我们下载“平台的扫描器”,即sonarscean,下载完毕,把其bin目录添加到PATH中。比如我这里是:C:\sonarscean-8.1.0\bin。

11 拷贝“在你的电脑上e执行SonarQube扫描”下面的命令,注意保存。

12 进入项目,会发现新建立的项目。

13 进入被测项目,输入第11步拷贝的命令。(如果C语言不在本目录下,比如在src下,请把-D"sonar.sources=."改为-D"sonar.sources=./src")

代码语言:javascript
复制
sonar-scanner.bat-D"sonar.projectKey=process" -D"sonar.sources=."-D"sonar.host.url=http://127.0.0.1:9000" -D"sonar.login=6cdf6f3176211d67dbf469712168c005c48f8c4d"。

14 运行完毕,进入SonarQube的项目栏即可看见相应的检测结果。

点击进去即可看见详细信息。注意:由于没有运行,所以在这里不能够检测出覆盖率,只能进行静态代码扫描。

15 如果项目比较固定,可以打开%SONARSCEAN_HOME%\conf\sonar-scanner.properties(注意这里是%SONARSCEAN_HOME%,而不是%SONARQUBE_HOME%)。

代码语言:javascript
复制
sonar.host.url=http://127.0.0.1:9000
sonar.sourceEncoding=UTF-8
sonar.projectKey=process
sonar.projectName=process
sonar.projectVersion=1.0
sonar.sources=.\
sonar.login=6cdf6f3176211d67dbf469712168c005c48f8c4d

然后在项目文件中输入sonar-scanner即可运行扫描功能。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试培训 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云代码分析
腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,支撑团队传承代码文化。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档