c# - 违背得墨忒尔法则的搜索工具?

标签 c# law-of-demeter code-standards

<分区>

有谁知道我可以使用 C# 应用程序来查找可能违反 Demeter 法则的工具吗?我知道它会产生很多误报,但我认为它仍然有用。尤其是在早期设计过程中。

最佳答案

如果您只是在寻找 something.somethingelse.violation , 然后你就可以使用 Visual Studio 了。

在查找对话框中,选中底部的“使用”框并选择“正则表达式”。

不是很健壮,但你可以使用 <[:a_]+\.([:a_]+\.)+[:a_]+找到上面的模式。

更好的工具是 grep或解决方案目录中的类似内容,因此您可以使用更强大的正则表达式选项,如负后视,这将允许您排除类似 using 的内容指令和 namespace声明。

grep for Windows

您可能会非常快速地编写一个 .NET 应用程序,该应用程序将递归给定目录并搜索 .cs 和/或 .vb 文件,使用具有环视功能的 .NET Regex,当然使用 VS 的优势是您将保留在源代码编辑器中。

关于c# - 违背得墨忒尔法则的搜索工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3460418/

相关文章:

c# - 关闭主窗口后如何显示新窗口?

delphi - 如何设计类依赖以避免德米特定律

javascript - Jquery 不良做法

javascript - intellij ESlint + JavaScript 标准样式 + 代码样式方案不一致

web-services - 英语是描述 Web 服务(Rest、SOAP 等)的标准吗?

c# - 获取阿拉伯月份的英文名称

c# - 只获取 XML 文档的一个属性

design-patterns - 我是否应该关心传入 XML 设置文件的类表示违反了 demeter 定律?

c# - 为什么在不应该抛出该异常时抛出该异常?

delphi - Delphi 中网格类结构的最佳方法是什么?