有没有人知道我可以使用C#应用程序查找可能的Demeter违规法的工具?我知道这会产生很多误报,但我认为它仍然有用。特别是在早期设计过程中。
答案 0 :(得分:4)
如果您只是在寻找something.somethingelse.violation
,那么您可以使用Visual Studio。
在查找对话框中,选中底部的“使用”框,然后选择“正则表达式”。
不是很强大,但您可以使用<[:a_]+\.([:a_]+\.)+[:a_]+
查找上面的模式。
解决方案目录中一个更好的工具是grep
或类似工具,因此您可以使用更强大的正则表达式选项,例如负面的lookbehind,这将允许您排除using
指令和{{1声明。
你可以非常快速地编写一个.NET应用程序,它可以递归一个给定的目录并使用.NET Regex搜索.cs和/或.vb文件,但是当然使用VS的优点是你仍然在源代码编辑器中。