SonarSource不断的检查, 新的软件质量范例, 解决和解决的关键挑战
在代码质量管理中:
太少, 太迟
推回
开发团队
缺乏过程
所有权
异构
要求
团队收到关于质量的持续反馈, 包括对一组
质量要求
一个清晰的,sonarqube静态安全扫描工具, 更新的质量演变的图片随时可用, 包括
版本间的比较
团队可以从介绍中跟踪问题, 并提供反馈
一旦出现质量缺陷, 就会通知风险承担者
质量门每天执行
后的质量门迭代成为一个事件
开发商的持续教育导致良性循环的改善
质量行动计划直接在团队内部生成, 并集成在
开发过程
软件质量是开发过程的一部分
评论包括背景和历史信息, 包括不同
版本和对软件所做的各种更改
利益干系人可以访问有关其软件质量的有意义的信息
实时
开发团队一旦收到质量缺陷的信息
添加 (通过电子邮件, 在 IDE 中可见,...) 使问题立即得到解决
团队获得开发更好软件的能力
代码质量的归属属于开发团队
软件质量被嵌入到开发过程中, 成为
每个人的责任
整个组织都可以访问软件质量工具, 以
每个利益相关者
质量要求可以在团队中的共享、更新和评审
成员和整个组织
质量判断是以自动化的方式在客观的基础上做出的
事先发布到组织的标准。
报告清楚地显示了软件的可维护性, 并立即
不需要外部顾问就可以理解
开发人员的持续教育导致显著的软件质量
从长远来看改善
团队有能力测量新的和更改的软件质量
代码以及整个代码库
团队可以跟踪新问题的注入
如何使用 SonarQube 改进工作流
twitter作为开发人员, 我不得不多次修复生产环境中的问题。有时, 我在代码之前没有看到任何错误, 而在其他时间, 我花了很多时间试图理解别人写的代码-更糟的是, 我把代码放到生产中, 在几个月后发现了安全漏洞。
很可能你也面对过这种情况。因此, 有一个工具,中国sonarqube静态安全扫描工具, 可以帮助您在早期阶段检测到它们, 岂不是很棒吗?SonarQube 使这成为可能。在这篇文章中, 您将了解它如何帮助您清理代码并防止将来出现问题。
SonarQube 入门SonarQube 是一个开放源码的质量管理平台, 致力于不断分析和测量技术质量, 从早的计划阶段到生产。通过将静态和动态分析工具结合在一起, SonarQube 连续监视七轴上的代码, 如重复代码、编码标准、单元测试、复杂代码、潜在 bug、注释和设计以及体系结构。
SonarQube 是一种用于主要编程语言的代码分析器, 如 c/c 、Javascript、Java、c#、PHP 或 Python, 等等。通常, 应用程序同时使用多种编程语言, 例如: Java、Javascript 和 HTML 的组合。SonarQube 自动检测这些语言并调用相应的分析器。
SonarQube 现在是 Bitnami 目录的一部分。您可以或推出它与我们准备使用的云图像只需几次点击和开始使用它在您的所有项目。利用 Bitnami 图像的特点: 安全、xin、优化、一致等。
玩 SonarQube在这个 GitHub 的项目中, 您将找到一个用 Javascript 编写的代码示例。目标: 向您展示如何将 SonarQube 合并到您的开发工作流中。存储库包含两个主文件夹 (源和测试), 这样, 您就可以知道测试所涵盖的代码的百分比。
这个项目还包括一个声纳工程. 属性文件, 其中有一些配置参数需要配置 SonarQube, 如用户名, 密码, 语言等。
运行
$ 声纳-扫描仪在项目文件夹内,中国sonarqube静态安全扫描工具, 这样就启动了第yi个扫描仪, 您可以在 web 界面中检查结果。
第yi次扫描
正如您在上面的截图中所看到的, 当前的代码有零 bug、零漏洞和六代码的气味。
我将修改源代码以引入一个 bug 和一个漏洞。这一次是有意的, 但是在日常的工作中, 这样的问题会在你没有意识到的情况下出现。
添加错误
再次运行扫描仪使用
$ 声纳-扫描仪如预期的那样, 将出现新的 bug 和漏洞。再次检查分析以查看所做的更改:
比较扫描
屏幕右侧将出现一个新节 (以黄色高亮显示)。SonarQube 处理两种状态: 当前状态 (以白色表示) 和xin更改。正如您在截图中所看到的, 上次扫描中引入的更改增加了一个 bug 和一个漏洞。SonarQube 评估每个部分的质量, 评分基于不同的参数, 一个是jia状态。在这种情况下, 引入 bug 导致 "bug" 部分从 a 传递到 C, "漏洞" 部分从 a 到 B。
您可以设置 "泄漏期间" 来确定要进行比较的方式: 按时间或在每个扫描仪执行之间。
让我们详细地看看 "覆盖率" 一节: 38.1% 是测试覆盖率 (正如您在 GitHub 存储库中看到的那样, 我对某些文件进行了测试, 但对于所有的文档都没有)。在黄色部分, 您可以看到新添加的行的覆盖率。以前, 为了添加错误, 我引入了一些新行, 但我没有为这些新行创建任何测试, 因此新的测试覆盖率为0%。此外, 点击覆盖范围, 我可以看到更多的信息的覆盖面, 例如: 覆盖的文件, 覆盖线的数量, 等等。
错误信息
通过这种快速而简单的分析 (您只需执行一个命令), 您将能够防止出现在生产环境中的错误, 使代码保持安全并遵守jia做法和质量标准。在下面的迭代中, 我将致力于实现零 bug、漏洞和代码气味的目标。我还可以在测试中得到**** 的代码。一旦我的代码处于这种状态, 就很容易看出所做的更改是否引入了某种错误或坏的做法。
如何挤压 SonarQube正如您在上一节中看到的, 保持代码的良好状态非常简单。但是, 还有更多的发现。SonarQube 有很多很酷的集成。
分析方法可以在下列分析方法之间进行选择:
用于 MSBuild 的 SonarQube 扫描仪:. Net 项目的启动分析SonarQube 扫描器: maven 的启动分析和xiao配置SonarQube 扫描器 Gradle: 发射 Gradle 分析蚂蚁 SonarQube 扫描器: 蚂蚁发射分析詹金斯 SonarQube 扫描仪: 詹金斯发射分析SonarQube 扫描仪: 当其他分析器都不合适时, 从命令行启动分析插件另外, SonarQube 有一个更新中心与各种各样的插件组织入不同的类别, 一些有用的插件是:
代码分析器
SonarCFamily c/c SonarPHPSonarJSSonarWebSonarJavacss集成
GitHub 插件: 分析拉请求, 并指出问题作为评论。谷歌分析: 将 google 分析跟踪脚本添加到 SonarQube 的 web 应用程序中。单片机引擎
善变的: 增加对善变的支持。git: 添加对 git 的支持。SVN: 添加对 Subversion 的支持。身份验证和授权
GitHub 身份验证: 通过 GitHub 启用用户身份验证和单一登录。GitLab 身份验证: 通过 GitLab 启用用户身份验证和单一登录。谷歌认证: 启用用户身份验证授权到谷歌。读过这篇文章后, 你可能想尝试 SonarQube, 看看它是如何融入你的日常工作的。您可以直接从 Bitnami 目录或启动它。
快乐 (和安全) 编码!
SonarSource 的产品和服务被世界各地的客户所使用。所有规模的组织都在使用来自 SonarSource 的产品和服务提高生产率, 降低风险, 终开发更好的软件。
SonarQube 使软件质量成为 Agirc 和 Arrco 软件开发过程中的一个集成组件。Agirc amp; Arrco 是一家法国公司, 负责管理超过2200万员工的补充养老金, 并在广泛的行业、农业和商业领域担任高管。计算和计算这许多客户的养老金应该是昂贵的, 如果不是灾难性的, 如果做错了。Agirc 和 Arrco 真的需要的软件, 以确保其业务运作顺利运行, 其养老金得到正确和及时的评估。此外, 具有优异的软件质量意味着更少的时间用于 bug 修复和提高开发新项目的效率。手动代码检查! = 软件质量
早在 2008年, Agirc 和 Arrco 就意识到需要改进它的应用, 才能取得进展, 但它的编码团队根本不知道如何去做。质量过程于针对已知 bug 对小块应用程序进行手动代码检查。作为一个短期的结果, 这些 bug 是固定的, 但进程留下的, 根本问题未触及。在软件质量过程的这个阶段, Agirc 和 Arrco 面临着许多组织共有的三关键挑战:无法识别起始点, 并确定工作的优先级。团队不知道在哪里开始改进, 或者快速获胜的地方--如果他们还存在的话。无法看到需要多少改进, 并估计将质量提高到可接受水平的努力。无法阻止新创建的应用程序重新引入在现有应用程序中纠正的相同质量问题;再犯同样的错误。SonARQUBE 使代码的改进变得清晰和简单
在2008年秋季, Agirc 和 Arrco 用 maven 2 取代了它的 maven 1 构建过程, 并且作为这个过程的一部分, 评估了几个解决方案来支持不断改进的软件质量。经过大量研究, SonarQube 被选为在整个组织中管理软件质量的集中解决方案。"首先 SonarQube 是一个简单的, 当你开始使用它: 不需要庞大的配置" bastien Touzet, 应用建筑师在 Agirc Arrco。Touzet 还赞赏 SonarQube 融入开发环境的事实。"我们的特征之一是通过 SonarQube 插件进行 Eclipse 集成: 现在, 我们的开发人员可以看到并改进他们的代码, 而不必在多个工具之间切换"。在实施了 SQALE 插件的技术债务评估, Touzet 说, 团队受益于对软件质量的关键措施的客观衡量标准, 以及如何解决问题的迹象。SonarQube 的简单和 user-friendliness 鼓励组织中的每个人都参与进来, 密切关注 Agirc 和 Arrco 的软件质量, 并采取具体的行动来改进它。例如, 在近的绩效改善项目中, 一家专门的审计公司参与审查公司的 COBOL 批处理程序。然后, 团队利用 SonarQube 的易扩展性, 根据审计结果开发新的 SonarQube 规则。现在, 整个开发团队能够遵循这些编码标准, 避免在其应用程序中引入新的性能问题。新的开发人员立即知道如何确保批处理程序的效率, 避免引入新的问题。从改进代码中获得的优势
长期以来, Agirc 和 Arrco 都低估了代码质量改进的必要性。有一种模糊的理解认为需要改进, 但由于缺乏对问题的了解, 任何人都无法理解其范围或重要性。在 2008年, SonarQube 首先提供了这种可见性, 现在它使软件质量成为软件开发过程中的一个不可分割的组成部分。今天, SonarQube 每天运行,代理商sonarqube静态安全扫描工具, 从50项目中分析超过240万行代码。整个组织参与并参与了嵌入式质量过程, 逐步提高了现有软件的质量, 避免了新开发应用中的质量缺陷。公司及其200强的开发团队专注于长期的、value-added 的活动, 而不是在救火模式下的短期手动 bug 修复。对 Agirc 和 Arrco 的业务影响是难以夸大的: 更好的软件大大降低了错养老金的风险, 并使公司能够灵活地将其软件迅速适应外部环境的变化。
苏州华克斯信息-中国sonarqube静态安全扫描工具由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司是一家从事“Loadrunner,Fortify,源代码审计,源代码扫描”的公司。自成立以来,我们坚持以“诚信为本,稳健经营”的方针,勇于参与市场的良性竞争,使“Loadrunner,Fortify,Webinspect”品牌拥有良好口碑。我们坚持“服务至上,用户至上”的原则,使华克斯在行业软件中赢得了客户的信任,树立了良好的企业形象。 特别说明:本信息的图片和资料仅供参考,欢迎联系我们索取准确的资料,谢谢!