| 企业等级: | 商盟会员 |
| 经营模式: | 商业服务 |
| 所在地区: | 江苏 苏州 苏州市 |
| 联系卖家: | 华克斯 先生 |
| 手机号码: | 13862561363 |
| 公司官网: | www.sinocax.com |
| 公司地址: | 苏州工业园区新平街388号 |
SonarLint –为 c#、VB.NET、Java、JavaScript、PHP 和 Python 提供一个免费的静态分析工具5月3日, 2017Code 质量, 评论, Toolingsonar 皮棉, 视觉工作室这是一个. NET 的重点帖子。
很高兴看到人们正在构建的东西, 现在 c# 编译器是开源的。我们实际上是在工具中游泳, 这不是一件坏事, 但我需要考虑我的开发管道中有多少工具。我目前在日常工作中使用 ReSharper 和前缀。NDepend 和 PVS-工作室每周一次的基础上, 但只在个人和开源项目。我可以在混合中添加另一个吗?确保!这不是侵入性的, 不会与 ReSharper 或 VS 代码提示冲突。在报告代码相关问题的方式上也有一些轻微的幽默。
通过 IDE 的用法
使用此工具的选项尚未更改, 但它支持三shou欢迎的 IDE 的:
IntelliJ视觉工作室蚀全mian的语言支持来自 IntelliJ 和 Eclipse 的 IDE。如果您使用的是 Visual Studio (VS), 那么您将得到一个很好的 c# 和 VB.NET 规则集。
您也可以在命令行中使用它, 这对于连续生成管线来说是的。需要通过 MSBuild 进行分析, 因为它们的命令行工具当前未按广告方式工作。运行分析是很容易的, 而且我可以在构建的末尾处理一个 XML 文件, 以生成报告或存储某处以便随着时间的推移进行分析。需要注意的一点是, XML 报告将在每个项目目录中生成一次。
msbuild n/p: RunCodeAnalysis = true/p: CodeAnalysisLogFile = MyXmlReport. xml1msbuild n/p: RunCodeAnalysis = true/p: CodeAnalysisLogFile = MyXmlReport. xml与 Visual Studio 中的规则交互
有一个广泛的214规则 c# 和62的 VB.NET, 虽然它们不是所有的默认启用。可以对规则进行定制, 以便为一个项目运行一个规则集, 并为另一个项目设置另一个规则集, 我将在短期内解释。
在真正的 VS 时尚代码, 违反了其中的一个规则得到一个弯曲线下面的代码行, 然后可以处理通过按 ctrl+。还有漂亮的功能, 这是新的 VS2017, 它使工作与分析仪更愉快。它不仅允许我修复当前正在查看的问题, 而且还可以解决相同的问题文档、项目或解决方案。很好。
正如您在下面所看到的, 还有用于禁止规则的选项。您可以内联或在它为您创建的全局抑制文件中执行此项。
# 杂注指令还有一个说明作为注释, 它可能对其他开发人员有帮助。通常我需要查找杂注代码, 所以这是一个不错的 VS 功能, 提高了整个开发人员的经验。
我真正喜欢的另一个特性是, 这些警告给出了一个简短的段落, 解释了规则冲突背后的原因。这个特别的警告是真正引起共鸣的东西, 因为我不喜欢注释代码。应删除死代码。如果有机会, 你认为你会需要它后, 那么没有问题, 这就是源代码管理的是!
如果您需要完整的规则列表, 我发现联机帮助非常有用, 因为您可以通过各种带有标记的规则类型进行筛选。
定制规则
与 VS works 的代码分析方式保持一致, 您可以通过右键单击分析器节点 inVS 并选择 '打开活动规则集' 来访问规则列表。
从那里, 规则集只是另一个类别节点。如果您想了解有关定制规则集的更多信息, 我有一个关于 Visual Studio 代码分析的博客文章, 它将在更深入地进行。
一个知道的陷阱
我无法得到规则运行在构建和不断得到这个错误。
警告 CA0064: 由于无法加载指ding的规则集或不包含任何托管代码分析规则, 因此未执行任何分析。
我确实在 SonarLint 谷歌集团发布了一个问题, 但据我所知, 它是孤立于我的机器。如果发生这种情况, 您需要添加分析器程序集 SonarAnalyzer.CSharp.dll, 如下所示。
如果希望分析在生成时运行, 请通过 '项目属性' 并单击 '在生成时启用代码分析', 在每个项目基础上启用分析。










SonarSource关键挑战代码质量管理
按设计, 按规定的时间间隔, 不间断地进行准时审核。这种代码的方法质量管理有四主要类型的缺点, 这将在本节详述。
太少, 太迟准时审计确定了两种改进: 化妆品和结构变化。而外观更改需要稍加修改, 结构更改可能包括主要软件设计.虽然可能需要进行此类更改, 但由准时审核产生的行动计划在过程中定义得太晚, 无法做任何事情, 但会打乱开发周期;无论是软件发布日期需要扩展, 以包括软件重新设计,sonarqube 安装, 或更糟糕的软件将被推送到质量不达标的生产, 因此降低了可维护性和适应性, 当新的业务需求出现。
来自开发团队的推回组织内部的质量过程显然缺乏所有权。审计员不能自己的过程, 因为他们既不拥有代码也不控制问题解决。同样,模型的命令和控制特性阻止开发团队拥有过程, 因为它没有参与审查。因此, 您有两个断开的组这些都是质量的责任, 而不是他们的责任。开发人员倾向于从准时审核中产生的行动计划, 因为他们:√是在团队之外生成的, 在日常工作中被视为一种新的约束√是主观的;调查结果依赖于审计师的判断, 而非客观措施√小姐的背景和历史信息, 因此被视为无关√因正在进行的更改而失效, 并很快变得过时√不要让和其他利益相关者参与审核和审核过程√介入的过程太晚;在审核功能时, 开发人员需要 '重新学习'用于解决查找的代码
缺少过程所有权
组织内部的质量过程显然缺乏所有权。审计员不能自己的过程, 因为他们既不拥有代码也不控制问题解决。同样,模型的命令和控制特性阻止开发团队拥有过程, 因为它没有参与审查。因此, 您有两个断开的组这些都是质量的责任, 而不是他们的责任。
异构需求衡量软件绝dui价值的传统方法, 如问题总数在质量门中发现, 强制评估人员对不同的应用程序进行测量要求取决于其来源。例如, 遗留项目可能不会保持在相同的高度一个绿地项目的质量标准, 和 in-house 的发展可能被判断不同于外包代码。这是由于您仍然需要允许软件运送到生产, 并要求每个项目达到相同的绝dui价值的质量阈值之前释放通常是不切实际的。使用这些绝dui值, 几乎不可能解决共同的对所有应用程序的要求,代理商sonarqube 安装, 因此很难在整个委yuan会中采用良好的做法。





SonarSource
通过上述命令成功分析项目将导致以下输出到控制台或日志文件:
SonarQube Runner 2.3
Java 1.7.0_25 Oracle Corporation(64位)
Mac OS X 10.8.5 x86_64
INFO:Runner配置文件:/opt/sonar-runner-2.3/conf/sonar-perties
信息:项目配置文件:/Users/manisarkar/bn_projects/TimelineJS/sonar-perties
INFO:默认语言环境:“en_US”,源代码编码:“UTF-8”
信息:工作目录:/Users/manisarkar/bn_projects/TimelineJS/.sonar
信息:SonarQube服务器3.7
14:11:20.927 INFO - 加载批量设置
。
。
。
14:11:38.290 INFO - ANALYSIS SUCCESSFUL,你可以浏览http:// localhost:9000 / dashboard / index / TimelineJS
14:11:38.292 INFO - 执行工作后类portJob
14:11:38.293 INFO - 执行岗位职责类re.ndIssueNotificatiPo的sdtJob
14:11:38.314 INFO - 执行工作后类re.dexProjectPo的stJob
14:11:38.356 INFO - 执行工作后类ctPurgePo的stJob
14:11:38.365 INFO - - >在2013-08-19和2013-09-15之间每天保留一张快照
14:11:38.365 INFO - - >在2012-09-17和2013-08-19之间每周保留一个快照
14:11:38.365 INFO - - >在2008-09-22和2012-09-17之间每月保留一个快照
14:11:38.365 INFO - - >删除之前的数据:2008-09-22
14:11:38.368 INFO - - > Clean TimelineJS [id = 151]
14:11:38.372信息 - 信息:----------------------------------------- -------------------------------
信息:执行成功
信息:------------------------------------------------ ------------------------
总时间:19.099s
终内存:14M / 502M
信息:------------------------------------------------ ------------------------
以下是几个链接,以示例sonar-perties文件来帮助创建新的,即非Maven Java项目的Sonar设置[05]和SonarQube Runner [06]分析。
注意:SonarQube Runner希望SonarQube在指ding端口上运行,否则会抛出错误,例如ERROR:Sonar server http:// localhost:9000无法访问。这当然可以通过配置文件进行更改(参见上一篇文章[01])。
SonarQube组件
一旦构建完成并成功,可以在仪表板中找到新的或更新的项目。钻入项目将带来一个屏幕,载入重要指标和分析项目的各个方面:
(以上是示例应用程序的屏幕截图)
令人感兴趣的主要重要组成部分是质量指标,复杂因素,复杂性(左下),代理商sonarqube 安装,测试覆盖率指标(单位测试覆盖率和单位测试成功率)。可能安全违规。 Package Tangle Index and Dependencies to cut,绝dui是方便的,以保持清洁的包和松散耦合的依赖关系。同样的说法,LCOM4(方法中缺少凝聚力 - 降值越好),复杂性也揭示了你的类,方法和功能的松散耦合 - 它也是在文件级别和整体级别给出全图。所有这些组件都是软件质量的良好指标,至少如果不是软件工艺 - 底层代码写在质量上有多好?或者它可以被看作是 - 仍然是充足的改进和重构的房间。
热点视图现在进一步分析了分析的其他一些重要方面,并突出显示需要更多关注的领域或者一个更多的问题在其顶点附近 - 要么超越da允许限制,要么需要更多的抛光才能满足要求。
(以上是在网站上发布的JDK7的截图)
我非常喜欢下面的设计组件,它可以很好地分解包装依赖关系并强调依赖循环。它是中大型项目中更复杂的事情之一,通常可能会阻碍模块化。







苏州华克斯信息科技有限公司 电话:0512-62382981 传真:0512-62382981 联系人:华克斯 13862561363
地址:苏州工业园区新平街388号 主营产品:Loadrunner,Fortify,源代码审计,源代码扫描
Copyright © 2025 版权所有: 天助网 增值电信业务经营许可证:粤B2-20191121
免责声明:以上所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责。天助网对此不承担任何保证责任。
您好,欢迎莅临华克斯,欢迎咨询...