Sonar简介

     最近的测试工作接触到了一款平台,名为“Sonar”,用于源代码管理,可以方便的检测到我们程序中可能存在的一些问题,会对我们有问题的代码给出错误级别,以及改正方法,十分简单易用。

    

是什么?

    Sonar(SonarQube)是一个开源平台,用于管理源代码的质量。它不只是一个质量数据报告工具,更是代码质量管理平台。支持的语言包括:Java、PHP、C#、C、Cobl、PL/SQL、Flex、JavaScrip等二十多种语言。

    它几乎支持了你所能想到的一切代码质量问题:从静态分析到动态分析(单元测试) 、从系统分析到人工评审、从历史分析到现在的版本分析、从Web客户端到Eclipse插件、从本地分析到远程分析、从集成其他代码分析插件(FindBugs、PMD等)到作为插件被CI持续集成、从邮件通信到任务平台交换(如JIRA) 、从Web接口到插件开发。


为什么用?

    伴随计算机水平和技术的迅猛发展,我们对产品提出了更高的要求。众所周知,项目规模越大,产品需求越多,可能产生的问题也就多。这时,对我们的代码提出了更高的要求,不论是开发,还是运维,我们都需要更高效的方法去避免、解决一些代码质量问题。因此,Sonar应运而生。

     Sonar的主要特征如下:

(1)写干净的代码

     SonarQube提供了对源代码整体运行状况的概述,突出了新代码中发现的问题。

(2)检测错误

     Sonar的代码分析器配备了强大的路径敏感数据流引擎来检测棘手的错误,如空指针解引用、逻辑错误、资源泄露等。

(3)多语言

(4)DevOps集成

     DevOps集成SonarQube已经建立起来,它是DevOps生态系统的一部分,因此将集成到CI引擎,促销管道。 

(5)集中品质

     为开发人员,技术负责人,管理人员提供数千个项目的代码质量共同愿景。


用它干什么?

    Sonar可以从以下几个维度检测代码质量,作为开发人员至少需要处理前五种代码质量问题。当然,这也是我们在学习以及实践中需要注意和学习的地方。

(1)不遵循代码标准

(2)潜在的缺陷

(3)糟糕的复杂度分布(类、方法等,复杂度太高会使开发人员难以理解;如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试。)

(4)重复(代码中有大量重复的内容,只需复制粘贴即可完成,质量低下。)

(5)注释不足或者过多(注释不足,会使代码可读性下降;注释过多,会使开发人员花费太多的精力在阅读注释上。)

(6)缺乏单元测试

(7)糟糕的设计(通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则。)



功能简要展示




    当然,以上内容对于sonar这个平台来说,只能算是凤毛麟角,更多的内容还需要大家去探索、学习,用过了才知道有多好!

                                                 (本文主要通过网络内容整理)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值