Does anybody know of a tool that I could use with a C# application to find possible Law of Demeter violations? I know that it would give a lot of false positives, but I think it could still be useful. Especially during the early design process.
相关问题
- Sorting 3 numbers without branching [closed]
- Graphics.DrawImage() - Throws out of memory except
- Why am I getting UnauthorizedAccessException on th
- 求获取指定qq 资料的方法
- How to know full paths to DLL's from .csproj f
If you're just looking for
something.somethingelse.violation
, then you can use Visual Studio.In the find dialog, check the box at the bottom to "Use" and select "Regular Expressions."
Not very robust, but you can use
<[:a_]+\.([:a_]+\.)+[:a_]+
to find the pattern above.A better tool would be
grep
or similar on the solution directory, so you can use more powerful regex options like negative lookbehind, which would allow you to exclude things likeusing
directives andnamespace
declarations.grep for Windows
You could probably very quickly write a .NET app that would recurse a given directory and search .cs and/or .vb files for same, using .NET Regex, which has lookarounds, but of course the advantage of using VS is that you remain right in the source code editor.