代码质量是一个不断增长的市场, 它是分析师对其大规模采用和大量投资回报的雷达。
认知的复杂性提供了一个新的衡量如何硬编码是理解-一个罢工开发商的直觉正确的。下载白皮书本文描述了认知的复杂性, 提出了一种新的度量方法, 以更准确地测量法的相对理解。在这样做的时候, 它解决了这个领域中圈复杂度的缺点。圈复杂度使用数学模型来评估方法, 对测试所需的工作量进行精que测量, 但不准确地测量需要了解它们的工作量。认知的复杂性打破了使用数学模型评估软件可维护性的实践。它从由圈复杂度所设置的先例开始, 但使用人工判断来评估结构应如何计算, 并决定应将哪些内容添加到整个模型中。结果是, 它产生了方法复杂性评分, 使程序员对可维护性的相对评估比以前的模型更公平。
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年前, 超过其 Java 根现在支持超过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
使用安装在Mac OS X Mountain Lion 10.8.4上的SonarQube™(以前称为Sonar™)
发表在未分类的neomatrix369
介绍(续)
继续从之前在Mac OS X Mountain Lion 10.8.4 [01]上安装SonarQube™(以前称为Sonar™)的博客文章,我们将介绍如何在不同情况下使用SonarQube。
这个帖子可能会比前一个更加冗长,即使用命令输出和屏幕截图,说明SonarQube如何响应各种用户操作。
运行SonarQube分析项目
我们将介绍SonarQube可以通过maven或Sonar-runner(用于非Maven项目)分析项目(以SonarQube支持的编程语言[02]编写)的两种方式,以及SonarQube的不同方面这有助于作为静态代码分析工具。
通过maven
转到包含maven配置文件(即pom.xml)的项目文件夹,并根据终目标运行以下命令之一:
$ mvn clean安装声纳:声纳
$ mvn install sonar:sonar
$ mvn声纳:声纳
$ mvn clean sonar:sonar 的-.url = http:// localhost:nnnn
(其中nnnn是SonarQube正在侦听的备用端口号)
输出
通过上述命令成功分析项目将导致以下输出到控制台或日志文件:
[INFO] ----------------------------------------------- -------------------------
[INFO] BUILD SUCCESS
[INFO] ----------------------------------------------- -------------------------
[INFO]总时间:29.923秒
[INFO]完成时间:Fri Sep 13 18:07:01 BST 2013
[INFO] Final Memory:62M / 247M
[INFO] ----------------------------------------------- -------------------------
[INFO] [18:07:01.557]执行org.apache.ugins:maven-surefire-plugin:2.10:test done:20372 ms
[INFO] [18:07:01.557]执行maven插件maven-surefire-plugin done:20373 ms
。
。
。
[INFO] [18:07:09.526] ANALYSIS SUCCESSFUL,您可以浏览http:// localhost:9000 / dashboard / index / com.webapplication:sub-webapp
[INFO] [18:07:09.528]执行职位后的类portJob
[INFO] [18:07:09.529]执行工作后类别re.ndIssueNotificationsPo的stJob
[INFO] [18:07:09.529]执行职位后的类re.dexProjectP的ostJob
[INFO] [18:07:09.580]执行工作后类ugins.jectPurgeP的ostJob
[INFO] [18:07:09.590] - >在2013-08-16和2013-09-12之间每天保留一张快照
[信息] [18:07:09.591] - >在2012-09-14和2013-08-16之间每周保留一张快照
[信息] [18:07:09.591] [信息] [18:07:09.614] 2008-09-19和2012-09-14之间每月保留一个快照
[INFO] [18:07:09.627] - >删除之前的数据:2008-09-19
[INFO] [18:07:09.629] - >清理webapp [id = 1]
[信息] [18:07:09.631] [信息] ------------------------------------- -----------------------------------
[INFO] BUILD SUCCESS
[INFO] ----------------------------------------------- -------------------------
[INFO]总时间:38.345秒
[INFO]完成于:Fri Sep 13 18:07:09 BST 2013
[INFO] Final Memory:28M / 255M
[INFO] ----------------------------------------------- -------------------------
以下是几个链接到pom.xml文件的示例,这些文件应该有助于创建新的或修改现有配置以将maven项目与SonarQube(包括其他maven CLI交换机)集成在一起,即使用Maven [03]和SonarQube分析Github [04] 。
通过声纳赛
转到包含sonar-perties配置文件的项目文件夹,然后运行以下命令:
</ DIV>
<DIV> </ DIV>
<div> $ sonar-runner </ div>
<DIV> </ DIV>
<DIV>
输出
以上信息由专业从事代理商sonarqube修改检测规则的华克斯于2025/3/24 18:42:07发布
转载请注明来源:http://szhou.mf1288.com/hksxxkj-2850752488.html
上一条:湖南网眼布单价值得信赖 华宏织造