Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 6 years ago.
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.
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 like using
directives and namespace
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.