SonarSource 城市之旅2016丹切2016年5月26日在10:14pm今天我参加了伦敦 SonarSource 城市之旅。SonarSource 制作两个 '连续代码质量' 工具: SonarQube;和 SonarLint。
雷迪森 sas 波特曼酒店举办的低调活动约50与会者。我们听到了一些适当的技术介绍, 从奥利维尔 Gaudin, 弗雷迪槌, 和 SonarSource 的尼古拉斯秘鲁和邓肯波克林顿从微软。
技术债wu这一天开了一个问题。谁负责代码质量?开发者还是 QA?
答案是不加掩饰的: 开发商。
在某些情况下, 引入技术债wu是可以的, 但团队需要了解他们所创建的问题的权衡和存在的程度。***hao的方法是通过客观和一致的测量。
'修复泄漏'知道你有问题是一回事。修理它是另一回事。
这一天的首要主题是 '修复泄漏': 当你有一个漏水的管道, 你应该先修复它还是先把它擦干净?如果你不首先解决问题的根源, 那么清理就不是很有用。
(这对我来说特别的伤感, 因为我在家里的水管漏水, 所以我迟到了。
在实践中, 这意味着设置一个质量的酒吧 (或 '门' 的 SonarSource 行话) 新的变化, 但大多忽略现有的问题, 直到你得到控制的事情。
这似乎是一个不错的方法, 有两个原因:
它减少了在遗留的基本代码上开始的摩擦力, 因为你可以假装你是从一个干净的石板开始;这是沙子上的一条线, 它为球队的前进设定了期望。奥利维尔不厌其烦地强调, 有一个自动化的工具, 实施这种行为不会减轻你的教育团队的***jia做法。每一个指标都可以博弈, 所以你需要让人们在船上的概念, 真正充分利用它。
SonarQubeSonarQube 度量您的代码库的可维护性、可靠性和安全性, 并跟踪随着时间的推移而改进。它还指出了代码中特定的代码气味, 应该是固定的。
SonarQube 是由超过75k 的公司使用的, 其中一些有数以千计的开发人员和数百万行代码。它成为事实上的代码质量工具, 因为它的介绍8年前, 超过其 J***a 根现在支持超过20种语言。
弗雷迪给了我们一个简要的特点, 从***近的版本, 包括 v5.6 (将在几个星期内发布)。
值得注意的是, 现代化的体系结构不再需要分析器和数据库之间的直接连接。这一切都通过了一个网络服务, 这是更明智的。
质量评级也正在完善。现有的 SQALE 度量对衡量项目的可维护性很有好处, 但它没有考虑到问题的严重性。它也没有真正与泄漏概念的网格。
在 SonarQube 5.6 中, SQALE 将重新命名为可维护性, 并且将为性、安全性和可靠性提供新的评级。将所有这些信息一起放在所有项目中将是一个新的治理仪表板 (一个商业插件)。
路线在工作中, 我们使用 gitflow。我们不想合并一个功能分支, 如果它会降低项目的质量, 因此我们特别希望了解分支支持在 SonarQube 中将如何改进。
已经有拉请求集成与 GitHub 和藏匿, 让你知道什么时候合并会引入债wu。
但是, 目前在 SonarQube 内部, 单独的分支被视为单独的项目。配置是重复的, 而且更糟糕的是, 每个功能分支都包含了主分支中的所有问题和债wu。
这是幸运的 SonarSource 的一个高优先级, 虽然它不会被宣布时, 它将船舶。目标是将项目的所有分支作为对主分支的比较。
群集是路线图的一个令人惊讶的补充, 因为这看起来不像是一种需要支持大量负载的产品。然而, 一些真正巨大的设施确实存在于野外, 它可以利用多个 web 服务器与同一数据库进行对话。
当弗雷迪宣布 SonarQube 为服务时, 群集的隐藏议程变得清晰明了。这将是一个免费的开放源码项目服务, 可以分析任何地方托管的项目 (虽然它需要一个 GitHub 帐户进行身份验证)。它将支持所有的内置 SonarSource 插件, 但没有第三方的。这对开源社区来说是一个好消息!
***后, 我有机会问墙和集成系统, 如 JIRA。一般的意见是, 这些应该处理外部 SonarQube 本身, 并集成使用的全功能的 rest API 暴露的 SonarQube。
SonarLintSonarLint 是您的 IDE (Eclipse、IntelliJ 或 Visual Studio) 的插件, 它在您键入时标记代码质量问题。这个想法是为了防止泄漏之前, 他们共享与其他的研发
SonarSource简介
构建更好的软件的独特方法。通过在整个软件开发生命周期中支持代码质量, 帮助您的开发团队从创新的概念中受益, 同时将时间和精力集中在新功能上。的水泄漏范例
我们建议的代码质量的方法是什么?把它当作漏水的东西, 在你拖地板之前把漏水的东西修好!为什么?否则你只是在浪费你的时间和精力。对于代码质量, 同样的逻辑适用;在任何其他情况下, 您都应该在控制下获得新更改和添加代码的质量。一旦该漏洞得到控制, 代码质量将开始系统地改善。阅读更多漏水范例领yang***收养和赋予
代码质量应该是每个开发人员的关注点, 而不仅仅是少数***。一旦您切换到一个漏水的方法, 即新的代码是唯yi的焦点的方法, 开发人员将变得非常感兴趣的主题, 因为 '代码质量' 意味着他们的代码质量。如果您添加的能力是在一个非常短的反馈循环, 你得到的控制反转: 开发人员不仅解决问题, 但在其***的代码质量的所有权, 因为它应该是在任何地方的情况。统一质量门
除非您在发布时强制执行质量门, 否则您没有到位的代码质量实践。质量门是在进入生产前经过验证的标准列表, 以确保应用程序符合质量要求。换言之, 这是内部质量的去/不去。采用漏水方法, 您可以为每个应用程序强制使用相同的质量闸门, 因为焦点将从应用程序中的遗留代码转移到新的或更新的内容。这使得代码质量成为开发过程的一个组成部分。促进代码管理应用程序组合 (APM)应用程序***组合管理
泄漏范例创造了一个良性循环来提高代码质量, 但不处理风险。管理者应该能够对其***组合中的现有风险做出决策。例如, 敏感的应用程序可能需要额外的精力来解决安全问题。这就是为什么, 他们需要有一个代表他们的应用程序组合装饰与相关的健康/风险因素。
SonarSource
在这些更复杂的环境中, ***必须做更多的事情。
***竞争环境, 资源很少和/或减少。他们必须弥合 everincreasing
它与业务的新形式的社会参与之间的差距, 并抗衡
随着更多的要求创新的应用程序, 满足业务和
消费者的需求。
企业项目在激烈的***压力下***的水平和率
技术变化要求部门协同工作, 包括业务干系人
和跨 IT、开发、质量和运营的管理人员, 以便在竞争中生存。
正如我们看到的***转向复杂的采购, 以解决这些业务和
技术需求, 我们看到了对软件分析、自动化和通用过程的需求
通过.对于 IDC 来说, 复杂的采购意味着利用外部服务提供商的资源
(如陆上和近海 SIs), 来自商业、IT、基础设施的内部资源,
承包商, 并使用开源软件 (OSS) 解决方案和组件。
需要建立伙伴关系和使用一系列资源, 要求管理、自动化、
和质量的协调。代码质量的可见性成为关键, 有助于提高
行为, 以产生更好的软件和地图团队的适当类型的项目给
经验水平和执行 (即使机会成为教育团队
更有效地执行)。服务提供商和内部员工都需要 '他们的游戏' 与
关于软件的创建、适当的质量和缺陷的积压。'技术***' 只能
识别和解决, 如果它是可见的, 可以通过适当的自动化工具启用和
过程策略的采用和分析, 以了解影响。
这一 IDC 技术聚焦将讨论改进软件分析方法的必要性,
缺陷管理、安全和度量, 通过主动可见性来获得业务和 IT 好处。
那些不懂历史的人注定要重蹈覆辙;这句谚语也适用于无效
软件创建、质量和缺陷缓解和解决方法。
不断变化的质量观
随着企业越来越依赖于技术和软件来提供核心产品,
CIO 的工作正在转变。预算没有增加, 但业务期望它能够
在高度复杂的环境中比以前更快地交付新的业务价值
提高了对质量的期望。此外, 有一种期望, 它会变得更清楚
新的业务目标, 并将 IT 优先级与之相匹配。一个关键的挑战是如何使
更快地交付更高质量的应用程序, 以满足业务和客户需求。它, 并
cio 必须超越提高 IT 效率以实现业务创新, 并提供
具有持续部署和改进的软件实践的***客户体验。和一个
基本的构建模块是代码分析和管理。
缺乏对代码质量的可见性, 以及导致问题的代码更加明显
和更多的削弱企业现在由于能见度和***要求
移动和其他面向客户的应用程序。这已经成为高管们的核心问题,
那些在代码创建级别的***。
开发和提供高质量的软件版本和新的面向客户的应用程序
时间是一个越来越大的挑战, 特别是对于那些必须与复杂的
与遗留系统和资源相结合的现代技术网络。***必须
解决内部业务的需求-企业应用程序的扩展和可用性
移动/社会/云平台-以及满足客户/消费者对可用性的需求
创新的应用。然而,SonarSource/SonarQube服务, 如何做到这一点, 而不提供洞察问题, 因为它们是
无意中创建的?
可以做些什么来提高整体软件质量以减少问题和风险, 同时
加快发布周期, 使新的服务和产品更快地投放市场?这
要求对软件漏洞和缺陷进行有效和早期的管理, 以使
主动的质量战略和降低成本。然而, 如何才能减轻现有的不良行为
***hao完成这些目标?
版权所有©2025 产品网