得墨忒耳法则违反搜索工具? [关闭]

Posted

技术标签:

【中文标题】得墨忒耳法则违反搜索工具? [关闭]【英文标题】:Law of Demeter violation search tool? [closed] 【发布时间】:2011-03-28 11:42:20 【问题描述】:

是否有人知道我可以与 C# 应用程序一起使用的工具来查找可能违反得墨忒耳法则的情况?我知道它会产生很多误报,但我认为它仍然有用。尤其是在早期的设计过程中。

【问题讨论】:

得墨忒耳法则的维基定义:en.wikipedia.org/wiki/Law_of_Demeter 得墨忒耳法则应该是得墨忒耳的经验法则 imho。 . . 我不知道有任何这样的工具,但 .NET 中的一个好方法是将它基于反射和 IL,以便它可以适用于任何 .NET 语言。 【参考方案1】:

如果您只是在寻找 something.somethingelse.violation,那么您可以使用 Visual Studio。

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

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

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

grep for Windows

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

【讨论】:

嗯,我刚刚在我的程序中发现了 5 个“点”……根据six degrees of separation,我认为这意味着它可以访问我程序中的任何内容,对吧? :P

以上是关于得墨忒耳法则违反搜索工具? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

《程序员修炼之道》笔记

带有 RxSwft 的 iOS MVVM:无处不在的 viewmodel 的缺点是啥?

看人工智能机械臂如何演绎3000多年前的神秘仪式

无需索引即可在文件中搜索字符串的工具[关闭]

简单的数据库查看器和搜索工具 [关闭]

在我的 iPhone 应用程序中使用 Yahoo [关闭]