青穗软件是SonarSource SA 授权中国代理商!欢迎咨询、洽谈SonarQube试用、购买、技术交流。
系统集成商、外包和应用程序服务提供商在如何向其客户提供下一级别的价值方面不断受到挑战。下载白皮书在服务、解决方案和软件交付方面的质量保证是一个关键的重点领域, 关键是寻找和利用能够为客户提供重要价值的工具, 并帮助引导他们走向成功, 并协助进行内部过程改进。此 IDC 技术聚焦讨论了服务提供商的策略, 以改进软件分析、缺陷管理、安全性和度量的方法,SonarSource价格, 从而通过主动可见性来获得业务和 IT 好处。提供商业价值的差异化服务是赢得未来业务的关键。服务提供者应该定位自己, 并证明它们是客户 IT 和业务组织之间必不可少的 质量门。
开发过程中的所有利益干系人 (不仅仅是开发人员或经理) 必须具有现成的访问权限到有关软件质量的有意义的数据。
管理软件质量必须是每个人的关注从开始的发展, 但是开发团队的终ji责任。
软件质量必须是开发过程的一部分, 这意味着满足质量标准是一个的硬要求能够声明开发完成。
软件质量要求必须是客观的, 不需要主观的通过/失败的决定。软件质量要求必须尽可能多地与所有软件产品共同, 无论他们的细节。
软件质量数据必须是***xin的, 即对代码的***近版本进行测量。
软件产品必须不断检查, 以便在容易发现错误时迅速正确.开发人员必须能够发现新的质量缺陷, 一旦他们被引入, 即在IDE 编写代码时, 类似于拼写检查程序突出拼写错误的方式。
无论是通过推还是拉, 在注入新的质量缺陷时, 都必须提醒利益干系人, 无论这是通过发送电子邮件, 打破了构建或其他方法。
必须跟踪新问题的注入,使团队能够快速、明智地决定质量。
软件质量数据必须同时提供绝dui (在所有代码) 和差异 (新的代码)值, 以便开发团队可以完全控制问题的传入流程。
所有新问题和现有关键问题都必须为解决方案指ding明确的路径和时间线。
持续的检验范式是非常有效的, 并已被证明在现实世界中工作从离岸软件工厂到财富100强企业不等。这些公司成功地使用了连续检测模型来管理项目的内部软件质量所有大小。
一个财富100强的公司与超过2万的开发商使用它管理超过6亿行代码, 在每天分析超过5000应用程序的环境中。
在所有情况下, 连续检查帮助这些公司大大提高了软件质量和稳定, 通常节省数百万美元, 否则将花费在根本原因分析和危机管理。
SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量。 通过插件形式,可以支持众多计算机语言,比如 java, C#, go,C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等。sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具来检测你的代码,帮助你发现代码的漏洞,Bug,异味等信息。
Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。
SonarQube功能特点简介
SonarQube是个开源的代码质量管理平台,可以通过多种工具和维度对代码质量进行分析,部分功能还支持可视化,对于代码缺陷一目了然。SonarQube比较开放,支持通过插件扩展功能,市面上常用的语言基本可以支持。同时,我们也可以尝试将sonar跟常用的jekins或者gocd集成在一起,在持续构建的同时对代码质量进行监测。该工具功能强大,使用简便,实乃程序员保证代码健康的必备良药。
它的特点:易于安装、易于配置、可扩展(自己开发插件),并且它拥有数以百计的成熟插件,这种插件式的特点提供可做任何事情的可能。。
SonarQueb主要从以下7个维度检测评估代码质量:
1.糟糕的复杂度分布
文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们,
且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试
2.重复
显然程序中包含大量复制粘贴的代码是质量低下的
sonar可以展示源码中重复严重的地方
3.缺乏单元测试
sonar可以很方便地统计并展示单元测试覆盖率及测试结果统计
4.没有代码标准
sonar可以通过oclint,PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写
SonarQube功能特点简介
5.没有足够的或者过多的注释
没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降
而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷
6.潜在的bug
sonar可以通过oclint,PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的bug
7.糟糕的设计(原文Spaghetti Design,意大利面式设计)
通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系
可以检测自定义的架构规则
通过sonar可以管理第三方的jar包
可以利用LCOM4检测单个任务规则的应用情况
检测耦合
SonarQube功能特点简介
安装
jenkins
1.brew install jenkins
2.按提示安装java 1.8
3.brew services jenkins start or jenkins –httpPort=9002
4.安装相关插件
Folders Plugin
Build timeout plugin
Workspace Cleanup Plugin
Ant Plugin
Gradle Plugin
Pipeline
Github Organization Folders Plugin
Pipeline Stage View Plugin
Git Plugin
Subversion Plug-in
SSH Slaves plugin
LDAP Plugin
Email Extension Plugin
Gitlab Plugin
注意事项
gitlab plugin 1.5.3有问题,需要降级到1.5.1
卸妆1.5.3,然后通过上传1.5.1的gitlab-plugin.hpi文件的方式安装
jenkins默认使用8080端口,默认端口跟gitlab ci配置web hook会导致失败,建议换个端口尝试:
jenkins —-httpPort=9002
西安青穗信息技术有限责任公司(简称青穗软件)是一家从事高新信息化技术安全公司,公司成立于2008年,公司业务范围包括: 青穗软件科技目前已与众多的国内外知名软件厂商实现了全方位的紧密合作,拥有丰富的软件产品线和解决方案,目前已成为 国内领先的软硬件安全解决方案、服务和培训的供应商,同时也是全球知名的软件厂商如HP、MicoFocus、SonarSource、fireEye、 NGS在国内的合作伙伴之一。