【发布时间】:2014-02-09 09:48:59
【问题描述】:
客户拥有数百万行代码(VB.Net 和 C#),并希望我们开发一种工具来评估代码的质量。
客户想知道的信息包括:
1)一个代码文件有多少行cmets
2) 一个类中实现了多少个函数
3) 是否所有可能的异常都被 try/catch 块包裹
4) 一个函数有多少个属性
5) ...(客户说我们提供的工具应该是可配置和可扩展的,以便他们以后可以实现更多的想法)
我们打算写一个VS.Net插件,可以及时解析开项目的代码。似乎这里有趣的是我们需要解析 C# 和 VB.Net 的代码。
请提供一些关于如何开始这项有趣任务的提示。
提前致谢!
【问题讨论】:
-
Roslyn 编译器和 C# 6.0 发布后,您应该能够以非常方便的方式检查所有语法节点。它尚未发布,但 CTP 令人印象深刻。
-
所有这一切都可以通过搜索关键字、搜索类结尾(功能)并将其解析为类来轻松完成。
-
@EddynandFuchs 确实如此,但随着新版本的 C# 和 VB 发布,可能很难维护。例如,据说 C# 正在为属性和方法定义获取新语法。
-
@AluanHaddad 它可以与语法数据库一起使用(关键字(函数,...),startchars({,keyword,...),endchars(},结束*关键字)
-
如果你需要问你可能不应该做这个项目...... Visual Studio 已经内置了代码度量和分析,无论如何都做了很多。 blogs.msdn.com/cfs-filesystemfile.ashx/__key/…
标签: c# vb.net visual-studio parsing visual-studio-extensions