【发布时间】:2009-07-08 19:31:30
【问题描述】:
我最近写了一个 post here on Stackoverflow 询问一些计算指标的 C# 库,主要是 CC...不幸的是没有成功。所以我要自己写。我在网上搜索了可能是最好的方法,但在开始之前,我想问问你是如何做到的。
我目前处于两种方法之间
- 给定一个源代码目录,使用正则表达式或类似表达式解析源代码,以识别方法、条件语句等结构,以便能够计算 CC
- 给定一个程序集,加载并分析它(使用 CodeDom?)
我更喜欢第二种方法,因为直接解析源代码对我来说似乎不是一个好方法。我已经阅读了集成在 .Net 框架中的 CodeDom。我知道它用于动态代码生成。我想我也可以用它来分析代码结构,不是吗?你们中是否有人有使用 CodeDom 的一些好的起点、一些提示、好的教程从哪里开始?
谢谢
编辑: 或者可能是其他一些允许轻松解析源代码的实用程序(类似 DOM 的结构)。
【问题讨论】:
-
我不认为您可以从已编译的程序集中加载 CodeDOM 图 ...
-
来自源代码?这可能吗?
-
API 在那里,但 C# 和 VB CodeDom 提供程序都没有实现它的源到图部分。他们只做图到源。
-
正如@chyne 所指出的,mono.cecil 看起来很有希望。如果您在 codeplex 上打开一个项目或其他什么,请告诉我 :)
-
您可以将 NRefactory 用于源 -> ast 解析器。
标签: c# .net metrics codedom code-metrics