SonarSource
SonarQube是一个开源平台,***初于2007年以Sonar的名义推出,近年来成为世界代码质量管理体系的***者,以其持续的代码质量检测而着称。
它目前支持25种语言,其中一些包括J***a,C / C ,C#,PHP,Flex,Groovy,J***aScript,Python,PL / SQL和COBOL,它也经常被用作Android开发的一部分。
它是有用的,因为它提供全mian的自动化分析工具,并与M***en,Ant,Gradle和其他持续集成工具集成。它报告了重复的代码,编码标准,单元测试,代码覆盖率,复杂代码,潜在的错误,评论和设计和架构。
它可与J***a IDE开发环境(如Eclipse,NetBeans和IntelliJ IDEA)集成,并可通过使用插件进行扩展。
下次再检查一下,我将会看看有用的HTML和CSS工具。
您使用什么工具来帮助改进代码,让我们知道!
这篇文章是我们的“J***a文章索引”系列的一部分。在这些文章中,我们的目标是探索J***a和J***afx的世界。看看吧!
如果您是第yi次读者,或者只是想在发布新文章和更新时收到通知,您可以通过社交媒体(Twitter,Facebook和Google )或博客RSS保持***xin。
相关文章:
宣布JDeli - 一个新的J***a图像库
J***a PDF播客现在在ITUNES上可用
J***a PDF播客1 - 版本5发行版概述
免费PDF指南:系列指数
免费PDF指南更新 - 非技术用户的5个简单步骤中的PDF到HTML5
SonarSource
优化质量分析以实现业务价值
复杂性: 代码可见性降低了软件风险
适用于***自动化软件质量2014–2018的预测和2013供应商份额: 一些
ASQ 的增长与持续的采用预计移动, 云和嵌入式, IDC 251643 和
建立软件质量分析策略, 帮助解决第三平台复杂性, IDC 253257
主办单位: SonarSource
梅林达-卡罗尔. 卢
2015年1月
简介: 了解质量分析差距的影响
数字世界的转变, 数字转换的影响, 以及对持续性的需求
跨技术平台的部署给 IT ***带来了巨大的压力, 因为它们
解决动态变化的业务需求。高质量应用的上市时间
变得至关重要, 但提供软件发布和开发新的面向客户的
快速应用是一个越来越大的挑战。对于大型跨国企业来说, 情况尤其如此。
必须与复杂多变的多式技术网络相抗衡的***
与遗留系统和资源结合在一起的数千个用户的地理
分布式.
对于 CIO 来说, 目标不仅仅是提高 it 的敏捷性--它是关于如何使用它来成功地
跨 '第三平台' 增强业务灵活性、创新性和客户体验, SonarSource/SonarQube经销商,
范围从移动, 社会系统的参与, 到云, 同时合并大数据
分析.在操作层面上, 这种做法增加了公司的压力,
重组、更新和转换软件开发和测试实践。这可以允许
为了更快地交付具有适当质量、风险、速度和
成本水平。
然而, 尽管质量低劣的软件对客户访问、收入和
商业信誉在这些有影响力的移动和其他第三平台环境中, 许多
***已经陷入了可怜的软件卫生习惯。能见度不足的水平
缺陷的原因及其影响为许多开发者创造了一种文化
他们所创造的缺陷的责任。'在墙上抛出代码' 用于部署仍然是
频繁的, 内脏的问题造成的公司, 部分由迫切的需求立即
这些关键业务环境中的软件交付。然而, 不良的发展途径
即使需要提高代码质量并在周期早期消除缺陷也会发生
急剧增加。
在 IDC 中, 我们一直在跟踪重大业务变更项目的成功率
***在过去的几年里, 和我们的 2014 QA 调查横跨超过200大
企业发现有问题的项目成功率。我们将 '成功' 定义为及时、相关和
个别项目的预算交付。我们的研究表明大约40% 的商业
面向更改的软件开发项目未能满足这些要求。和60%
按时交付和预算通常需要事后调整, 以确保
公司的***后期限已经达到 (例如, 需要在项目中投入更多的员工, 或者
copy;2015 IDC # IDCTS08W 2
项目范围减少)。除了这些预算和及时性挑战, ***代码质量
问题.
IDC 的研究显示, 在生产后期发现的缺陷成本指数更高
对***修复比在周期中发现的更早 (10–100倍或更多,
取决于其他依赖项, 以及在生命周期中发现问题的后期程度)。的
能够发现代码问题, 有共同的访问问题, 并负责修复
这些问题和解决积压成为***重要的环境无情
用户体验不佳和功能失败。客户反馈的即时性
用户参与、用户衰减率和应用程序商店评级带来了新的可视级别和
重要的是推动采用常见的代码问题访问上下文, 以便快速
补救, 以及对安全挑战的可见性。
这些因素与软件项目复杂性的增加相结合。企业采用复杂、
使用内部和外部资源 (如系统) 进行地理分布的开发
集成商 (SIs) 随着各种开发工具的使用而显著增加
(包括开源)、多种语言和敏捷流程。这意味着需要
代码分析, 可以共同访问有关软件问题的信息和定量和
跨不同团队的定性指标从未如此巨大。
在这个数字消费化和流动性的时代, 项目变得更具挑战性和
管理的关键。为什么?
SonarQube和JaCoCo的个人测试代码覆盖率
本文介绍了如何使SonarQube收集单个测试的测试代码覆盖率指标。代码覆盖工具通常产生一个报告,显示在给定测试会话期间执行的所有测试的组合效果的代码覆盖率(按行,分支等)。例如,当您在持续集成中运行单元测试时就是这种情况。在SonarQube和JaCoCo的帮助下,可以在单个测试用例级别(JUnit或TestNG中的测试方法)中收集覆盖度量。为了实现这一点,我们在这篇文章中显示了一些特殊的配置。
环境
以下过程已经使用SonarQube 4.1.2和4.3.2版本进行了验证,但它也适用于SonarQube 3.7.x(***xin的LTS版本)。我们用于验证设置的应用程序代码是熟悉的Spring Pet Clinic应用程序,增强功能可支持Tomcat 7和Spring 3(请参阅此篇文章,以了解有关宠物诊suo需要更新的信息:https://deors.wordpress.com/ 2012/09/06 / petclinic-tomcat-7 /)该代码可以从存储库中的GitHub***:https://github.com/deors/deors.demos.petclinic
说明
一旦你知道如何连接所有的点,这些说明很简单。所有这些都是为M***en Surefire插件添加一些特定的配置(Surefire是插件,它是单元测试执行的任务,它支持JUnit和TestNG)。由于此具体配置不应影响常规单元测试执行,因此建议将所需配置包含在单独的配置文件中,仅在执行SonarQube分析时执行。我们一起来描述pom.xml文件中所需的更改。
版权所有©2025 产品网