Reek – code smell detector for Ruby

Reek is a code smell detector for Ruby. Rather than concentrating on syntax errors or enforcing a particular formatting style, it examines classes, modules and methods for structural characteristics that can make code harder to understand, maintain or extend.

Its warnings are deliberately higher-level than those generated by many conventional linters. A reported smell is therefore something to investigate rather than necessarily a defect that can be fixed mechanically. This makes Reek particularly useful when reviewing design decisions or identifying areas of a codebase that may benefit from refactoring.

This is free and open source software.

Key Features

  • Detects a broad range of code smells including Feature Envy, Data Clumps, Large Classes, Long Parameter Lists, Too Many Statements, Uncommunicative Names, unused parameters, and other maintainability issues.
  • Accepts individual Ruby files, directories, the current working directory, or Ruby source supplied through standard input.
  • Provides YAML-based configuration for enabling, disabling, and adjusting individual smell detectors.
  • Supports source-code comments for suppressing selected warnings where a particular design choice is intentional.
  • Can generate a todo configuration containing existing warnings, making it easier to introduce Reek gradually to established projects.
  • Offers multiple output formats for use interactively or with other development and reporting tools.
  • Works with Ruby on Rails projects and can be incorporated into automated code-quality workflows.
  • Supports editor integrations and other development tools that surface Reek warnings while working on Ruby code.
  • Runs on the principal Ruby implementations, including CRuby and JRuby.

Website: github.com/troessner/reek
Support:
Developer: Kevin Rutherford
License: MIT License

Reek is written in Ruby. Learn Ruby with our recommended free books and free tutorials.


Related Software

Ruby Linters
RuboCopRuby static code analyzer and formatter
ReekExamines Ruby classes, modules, and methods
Standard RubyProvides an opinionated, unconfigurable ruleset
HAML-LintRuby-based linter for HAML templates
Slim-LintConfigurable tool for analyzing Slim templates
ERB LintLint your ERB or HTML files
YARD-LintFor Ruby and Ruby on Rails projects that lint YARD documentation
oxicopFast Ruby linter

Read our verdict in the software roundup.


Best Free and Open Source Software LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.

We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more.

Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion.

Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted