写点什么

C#静态分析工具 Roslynator.Analyzers 将方法数量提高了 500 多

  • 2020-02-17
  • 本文字数:1217 字

    阅读完需:约 4 分钟

C#静态分析工具Roslynator.Analyzers将方法数量提高了500多

Roslynator.Analyzers 软件包的新版本 2.3.1 将分析、重构和修复方法的数量提升到了 500 多个。Roslynator 使用开源的 Roslyn .NET 编译器平台对 C#代码进行静态分析。这个分析驱动 IDE 显示可以帮助你改进代码的提示和操作信息。


Roslynator 可以安装到 Visual Studio 2017、Visual Studio 2019 和 Visual Studio Code 中。VSCode 版本可以在 Linux、Mac 和 Windows 上运行。这样,它就可以利用最新版本的 Roslyn,即 3.0 版本。Roslynator.Analyzers 2.3.1 将是支持 Visual Studio 2017 的最后一个版本。


可以在一个简单的“hello world”控制台应用程序中看下这个功能。


using System;using System.Collections.Generic; namespace HelloWorldApp{    class Program    {        static void Main(string[] args)        {              var a = new List<string>() { "Hello","World"};            var b = a.ToArray();            for (var f = 1;f < b.Length;f++) {                Console.WriteLine(value: b[f].ToString());            }                    }    }}
复制代码


Roslynator 在可以重构的项旁边添加了一个灯泡动作项菜单,并在屏幕底部的面板中列出了问题。曲线突出了问题面板中提到的问题。该系统在你输入时工作。例如,当你输入 for 语句时,如果结束条件无法解析为布尔值,Roslynator 分析器就会突出显示。




使用配置文件或 Visual Studio IDE,可以配置你希望包含在项目中的检查和修复。配置文件可以共享,使整个团队能够使用相同的设置。


分析器是可扩展的,因此,你可以编写自己的分析器来处理组织中常见的问题,比如弃用的 API 或源代码中包含的安全凭据。该工具还支持命令行变体,以便可以将其集成到构建管道中。


与其他静态分析工具一样,Roslynator 不需要执行软件来确定程序的行为和特性。它通过检查源代码来实现这一点。这些工具在 20 世纪 70 年代就出现了,当时,Stephen C. Johnson在他的 C 语言课程中提出了 Lint 的想法。它们甚至可以用于非编译语言,如 Python 和 JavaScript。


SonarAnalyzer、XUnit Analyzers、Code Cracker、FxCop 和 StyleCop 等工具之所以能够相对轻松地进行这种分析,是因为 Roslyn 编译器的独特创建方式。如下所示,编译器和工具不是以黑盒的方式提供,而是作为一系列 API 和服务提供的。这些工具可以使用编译器 API 来识别问题代码以及生成替换选项。



图片来源:Roslyn Overview on github


然而,并不是所有流行的代码分析工具都使用 Roslyn。例如,Resharper工具已经存在了更长时间,它使用的是 JetBrains 专有的技术。Resharper 比 Roslyn 早了几年,他们的引擎提供的特性比 Roslyn API 多,比如解决方案范围的错误分析,“大局(big picture)”代码检查,以及更广泛的语言支持,比如 Razor。JetBrains 已经在他们的其他产品中使用了 Roslyn 技术,比如Rider IDE


原文链接:


C# Static Analysis Tool Roslynator.Analyzers Now Has over 500 Ways to Improve Code


2020-02-17 09:0014915

评论 1 条评论

发布
用户头像
C#太过先进老板们看不懂,老板们只认识java
2020-02-17 09:42
回复
没有更多了
发现更多内容

3D灯光贴图渲染HDR Light Studio Xenon 破解补丁版 兼容Mac26系统及M芯片

Rose

白噪音Noizio for Mac,舒缓你的心情,提升工作效率!

Rose

我的 Vibe Coding 的第一个项目

Immerse

YashanDB数据库数据一致性保障机制详解

数据库砖家

嵌入式软件算法之PID闭环控制原理

芯动大师

嵌入式 PID 调参

高度可定制的跨平台日历库

qife122

android 跨平台

极简开发、精准分发,构建鸿蒙生态服务分发智能便捷新体验

新消费日报

YashanDB数据库数据压缩与存储优化方法

数据库砖家

鸿蒙星闪,智能生活交响乐的指挥家

脑极体

AI

Straive收购SG Analytics

财见

YashanDB数据库数据同步与异地容灾解决方案

数据库砖家

如何安装SideFX Houdini?3D影视特效渲染SideFX Houdini Mac详细图文教程分享

Rose

鸿蒙运动项目开发:项目运行环境切换器

王二蛋和他的张大花

IBM研究:AI智能体应用崛起,企业超越试水阶段

财见

海尔位列谷歌&凯度BrandZ中国全球化品牌第6,蝉联行业第一

财见

Mac 虚拟机工具 VMware Fusion Pro 13中文版 含激活码 附详细安装教程

Rose

Golang基础笔记三之数组和切片

Hunter熊

golang 数组 切片 切片扩容 扩容规律

电商商品详情API接口:解锁电商创新与效率的新引擎

Noah

线上会议丨离散元仿真技术(DEM)如何解锁食品制造新‘食’代"?

Altair RapidMiner

AI 数据分析 制造业 EDEM 离散元仿真

移动行业减排8%,距净零仍需加速

财见

mac电脑上U盘启动盘制作工具 balenaEtcher免费版

Rose

AI 题库系统的主要功能

北京木奇移动技术有限公司

AI技术开发 软件外包公司 AI题库

最快24小时极速换新家,华为鸿蒙智家后装解决方案亮相HDC

新消费日报

Alamofire - Swift 下的优雅 HTTP 网络库

qife122

swift HTTP

停止将AI局限于个人效率提升的用途

财见

AI 对冲基金模拟系统

qife122

金融科技 量化交易 AI投资

YashanDB数据库数据压缩技术及应用场景

数据库砖家

YashanDB数据库未来发展趋势及技术展望

数据库砖家

为什么说大家低估了 AI 的实际使用规模?实际情况如何?

Baihai IDP

人工智能 程序员 AI

如何通过CrossOver软件运行Windows游戏?CrossOver安装steam教程

阿拉灯神丁

macos steam CrossOver Mac下载 Mac游戏推荐 雷神加速器

巨量IP代理“狂欢618 年中大放送”活动火热进行中

巨量HTTP

静态IP 代理IP http代理 socks5代理 隧道代理

C#静态分析工具Roslynator.Analyzers将方法数量提高了500多_编程语言_Andy Clark_InfoQ精选文章