有谁知道我可以与 C# 应用程序一起使用的工具来查找可能违反 Demeter 的法律?我知道它会产生很多误报,但我认为它仍然有用。尤其是在早期的设计过程中。
问问题
635 次
1 回答
4
如果您只是在寻找something.somethingelse.violation
,那么您可以使用 Visual Studio。
在查找对话框中,选中底部的框以“使用”并选择“正则表达式”。
不是很健壮,但您可以使用<[:a_]+\.([:a_]+\.)+[:a_]+
上面的模式找到。
解决方案目录上会有更好的工具grep
或类似的工具,因此您可以使用更强大的正则表达式选项,例如否定后视,这将允许您排除using
指令和namespace
声明等内容。
您可能会非常快速地编写一个 .NET 应用程序,该应用程序将递归给定目录并搜索相同的 .cs 和/或 .vb 文件,使用具有环视功能的 .NET Regex,但当然使用 VS 的优点是您仍然就在源代码编辑器中。
于 2010-08-12T02:25:11.233 回答