提问人:Kevin Krumwiede 提问时间:5/9/2023 更新时间:5/10/2023 访问量:48
如何在Visual Studio中计算生成的代码行数?
How to count generated lines of code in Visual Studio?
问:
我正在做一个项目,其中大部分代码都是生成的。我完全知道什么是无用的指标 SLOC,但我想吹嘘一下代码生成器将多少工作和潜在的人为错误保存为 KPI 以使 PHB 眼花缭乱。
如何计算生成的 SLOC?VS Code 指标似乎没有区分手写代码和由 .实际上,我不完全确定它是否在计算生成的行。生成的代码不能放在单独的项目中,因为许多生成的文件都是带有一些手写位的类。IIncrementalGenerator
partial
答:
1赞
Patrick from NDepend team
5/10/2023
#1
可以使用工具 NDepend 在 Visual Studio 中对生成的代码行进行计数。可在此处下载免费的全功能试用版。
为了避免报告生成代码的问题,该工具有一个基于 notmycode
代码查询的系统,以匹配生成的代码。
以下是默认的 notmycode 代码查询,可以根据自己的情况进行调整。例如,通过查看此链接中的 CQLinq 源代码,您可以看到如下内容:
...
let sourceFilesPathsToDiscard = (
from filePath in asmSourceFilesPaths
let filePathLower= filePath.ToString().ToLower()
where
filePathLower.EndsWithAny(
".g.cs", // Popular pattern to name generated files.
".g.vb",
".generated.cs",
".generated.vb") ||
filePathLower.EndsWithAny(
".xaml", // notmycode WPF xaml code
".designer.cs", // notmycode C# Windows Forms designer code
".designer.vb") // notmycode VB.NET Windows Forms designer code
...
然后,在 VisualNDepend.exe(独立)或 Visual Studio NDepend 扩展中,有一个仪表板显示生成的代码行数(在下面的屏幕截图中以红色显示)
免责声明:我在NDepend工作
评论