- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
自动化代码质量管理教程
自动化代码质量管理
Sonar+cppCheck+pcLint
Sonar简介
Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量。
通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测。
sonarQube能带来什么?
Developers Seven Deadly Sins
糟糕的复杂度分布
文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们,且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试。
重复
显然程序中包含大量复制粘贴的代码是质量低下的,sonar可以展示源码中重复严重的地方。
缺乏单元测试
sonar可以很方便地统计并展示单元测试覆盖率。
没有代码标准
sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写
没有足够的或者过多的注释
没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降
而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷
潜在的bug
sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的bug
糟糕的设计(原文Spaghetti Design,意大利面式设计)
通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系
可以检测自定义的架构规则
通过sonar可以管理第三方的jar包
可以利用LCOM4检测单个任务规则的应用情况
检测耦合
通过sonar可以有效检测以上在程序开发过程中的七大问题。
SonarQube安装
社区开源软件的共享、免费特性不可避免的决定了其发布版本存在的、软件契合度上的不友好性。若幻想如windows软件套装一样的傻瓜式安装,将是不切实际的。笔者经过实践,总结了较新的版本安装过程。
笔者在windows上搭建Sonar代码质量管理平台,所用的各开源软件版本号、及说明如下:
Java开发环境 jdk1.7.0_75Sonarqube/Sonar-Runner/cxx等开源软件都是java语言开发的,jdk或jre是运行这些程序的基础。sonarqube-5.1.2Sonar平台的web接口;管理员或者代码作者等候后可以基于项目查看代码的审查结果。
每次运行时,都是主动连接数据库,并监听某个端口(默认是::9000)的http请求。sonar-runner-2.4
sonar-examples-master分析代码的重复率、复杂度;从sonarqube获取可用的plugin插件,来解析特定目录下由第三方工具(pclint/cppcheck/vagrand)生成的代码审查、覆盖率统计等xml格式的报告,并存储到数据库,以供sonarqube使用web展示。
第三方工具可以从各维度对代码质量进行审查。
sonar-examples-master.zip是用来验证sonar能够正确运行的、包含20余种语言的示例代码。mysql-installer-community-.msi用以支撑sonarqube、sonar-runner运行的大型数据库;
Sonarqube自带的h2数据库,效率低、管理的数据表很少,仅能够用于sonar功能演示的目的。PC-LINT_V9.0第三方工具,负责对c/c++代码进行静态检查,有商用和社区两个版本,功能非常强大。Cppcheck-1.71第三方工具,负责对c/c++代码进行静态检查,开源代码,功能比pc-lint弱一些但够用。cxx-plugin-0.9.4.tarPlugin插件,负责解析第三方工具(pclint/cppcheck/vagrand等)针对c/c++语言生成的xml质量报告,并生成可被sonar识别的数据。在了解了上述各个工具软件的用途后,搭建sonar源代码质量管理平台就顺手很多,并且能够迅速定位搭建过程中出现的臭虫。当你更换上述软件为其他版本号时,可能因为兼容性问题而导致安装失败,请额外注意。笔者在安装过程中就遇到了此类问题,抓狂的很久,因而在此分享给大家。
安装JDK虚拟机环境
请下载JDK1.7或1.8,安装过程是一路的next?next点下去,请注意JDK的安装目录。假定我们已经将JDK安装在了C:\Program Files\Java\jdk1.7.0_75,紧接着对系统环境变量进行配置:
右键”我的电脑”?“属性”?“高级”选项卡?“环境变量”栏:弹出如下窗口
在“系统变量(S)”框内找到“Path”变量并选中后,点击下方的“编辑”弹出如下
文档评论(0)