Hi,
I’ve been working on a little software tool called ‘reek’. Reek scans
ruby code — either source files or in-memory Class objects — looking
for some of the code smells discussed in the book. Right now it can
detect (certain forms of):
* Long Method
* Large Class
* Feature Envy
* Uncommunicative Name
* Long Parameter List
* Utility Function
* Nested Iterators
As time goes by I’ll be adding checks for more smells, and I hope to
make the current checks a bit more sophisticated. But in the agile
spirit of going ugly early, the current very early version is
available for you to experiment with. To get the tool:
gem install reek
To run it:
reek file1.rb file2.rb …
If you try it, please let me know what you think and what you’d like
the next version to do!
You can browse the reek project’s code repository at
GitHub - kevinrutherford/reek: Code smell detector for Ruby or
http://rubyforge.org/projects/reek/.
Cheers,
Kevin