C#靜態分析(static analysis )工具 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。例如,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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM