AICon 北京站 Keynote 亮点揭秘,想了解 Agent 智能体来就对了! 了解详情
写点什么

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:0014816

评论 1 条评论

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

SQL开发的智能助手:通义灵码在IntelliJ IDEA中的应用

阿里云云效

sql

非凸算法全面上线华安证券,共筑金融数智化新生态

非凸科技

Python2 AI 通义灵码 VSCode插件安装与功能详解

阿里云云效

Python

MES系统中的几大功能模块

万界星空科技

mes 数字化工厂 万界星空科技 制造业工厂 生产管理MES系统

数字藏品NFT技术架构

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

数字藏品 软件外包公司 NFT技术

什么是用于REST API的JWT Bearer令牌以及如何通过代码和工具进行调试

数据追梦人

数字藏品NFT的技术原理

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

软件外包公司 音乐NFT 体育NFT

从“制造”到“智造”,低代码如何赋能制造业转型升级?

天津汇柏科技有限公司

人工智能 低代码 智能制造

【HarmonyOS 5】鸿蒙中如何使用MQTT

GeorgeGcs

mqtt HarmonyOS HarmonyOS NEXT

祝贺!华为云GES完成中国信通院图数据库产品测试

华为云开发者联盟

图数据库 华为云GES 中国信通院

音乐NFT项目的技术开发

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

区块链技术 软件外包公司 音乐NFT

移动端动态化发展:技术演进与生态建设实践

xuyinyin

SQL开发的智能助手:通义灵码在IntelliJ IDEA中的应用

阿里巴巴云原生

sql

【同步教程】基于Apache SeaTunnel从MySQL同步到MySQL——Demo方舟计划

Apache SeaTunnel

做好设备管理这四大关键,事半功倍!

积木链小链

数字化 智能制造 设备管理

无需登录+离线调试 Apipost完胜Apifox?

数据追梦人

Python3 AI 通义灵码 VSCode插件安装与功能详解

阿里云云效

Python

5分钟掌握!DolphinScheduler时间参数动态配置秘籍

白鲸开源

大数据 开源 Apache DolphinScheduler 任务调度 大数据调度

Python3 AI 通义灵码 VSCode插件安装与功能详解

阿里巴巴云原生

Python

几张图搞懂息队列Message Que

马说IT

kafka RabbitMQ IT 消息队列 message queue

倒计时三年,国产化替代100%进度走到哪了?

禅道项目管理

信创 项目管理软件 国产化替代

CrossOver 25重磅发布:众多革命性突破带给你更强的Mac游戏兼容性

阿拉灯神丁

兼容性测试 CrossOver Mac下载 Mac游戏推荐 mac虚拟机软件

Agentic AI 干货!DeepSeek + OpenAI SDK 构建 Agent 实战

七牛云

AI

【HarmonyOS 5】使用openCustomDialog如何禁止手势关闭的方案

GeorgeGcs

HarmonyOS OpenCustomDialog 手势关闭 禁止 关闭弹框

Python2 AI 通义灵码 VSCode插件安装与功能详解

阿里巴巴云原生

vscode Python2

深入研究:淘宝天猫商品评论查询API详解

tbapi

淘宝API 淘宝商品评论API接口 天猫商品评论API接口

深入研究:淘宝天猫商品详情查询API详解

tbapi

淘宝API 淘宝商品数据采集 淘宝商品详情API 淘宝商品接口

测试团队管理者必看:从生存到卓越的实战指南

测试人

团队管理 软件测试

MySQL下200GB大表备份,利用传输表空间解决停服发版表备份问题

GreatSQL

《Operating System Concepts》阅读笔记:p597-p600

codists

操作系统

DNS常见问题:什么是主机记录和记录值?

国科云

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