[ANN] Reek 1.2 released

0 views
Skip to first unread message

Kevin Rutherford

unread,
Sep 20, 2009, 10:44:29 AM9/20/09
to ruby...@googlegroups.com, ruby...@ruby-lang.org
Hi,
Reek version 1.2.0 has been released!

Reek detects smells in Ruby code. It can be used as a stand-alone
command, or as a Rake task, or as an expectation in Rspec examples.

## Changes in this release:

### Major Changes
* Reek passes all its tests under ruby 1.8.6, 1.8.7 and 1.9.1 (fixed #16)
* New smell -- Data Clump:
** Looks within a class for 3 or more methods taking the same 2 or
more parameters
* New smell -- Simulated Polymorphism:
** Currently only performs basic check for multiple tests of same value
* Reek's output reports are now formatted differently:
** Reek is no longer silent about smell-free source code
** Output now reports on all files examined, even if they have no smells
** Smell warnings are indented in the report; file summary headers are not
** Reports for multiple sources are run together; no more blank lines
** Reports in spec matcher failures are quiet (fixed #38)
* The smells masked by *.reek config files can now be seen:
** The header for each source file now counts masked smells
** The --show-all (-a) option shows masked warnings in the report
* The spec matchers are now accessed by requiring 'reek/adapters/spec'

### Minor Changes
* Reek's RDoc is now hosted at http://rdoc.info/projects/kevinrutherford/reek
* If a dir is passed on the command-line all **/*.rb files below it
are examined (fixed #41)
* Duplication warnings now report the number of identical calls
* FeatureEnvy no longer ignores :self when passed as a method parameter
* LargeClass is disabled when checking in-memory classes (fixed #28)
* LongParameterList accepts upto 5 parameters for #initialize methods
* Several changes to the LongMethod counting algorithm:
** LongMethod now counts statements deeper into each method (fixed #25)
** LongMethod no longer counts control structures, only their contained stmts
** See http://wiki.github.com/kevinrutherford/reek/long-method for details
* UncommunicativeName warns about any name ending in a number (fixed #18)
* UtilityFunction has been relaxed somewhat:
** no longer reports methods that call 'super' (fixed #39)
** no longer reports simple helper methods
** can be configured based on number of calls out
* Now reports an error for corrupt config files
* Empty config files are ignored
* Smells can be configured with scope-specific overrides for any config item

## More information:

* http://wiki.github.com/kevinrutherford/reek

Cheers,
Kevin
--
http://www.kevinrutherford.co.uk -- agile, TDD, XP, lean, TOC

Reply all
Reply to author
Forward
0 new messages