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 | |
|---|---|
| RuboCop | Ruby static code analyzer and formatter |
| Reek | Examines Ruby classes, modules, and methods |
| Standard Ruby | Provides an opinionated, unconfigurable ruleset |
| HAML-Lint | Ruby-based linter for HAML templates |
| Slim-Lint | Configurable tool for analyzing Slim templates |
| ERB Lint | Lint your ERB or HTML files |
| YARD-Lint | For Ruby and Ruby on Rails projects that lint YARD documentation |
| oxicop | Fast Ruby linter |
Read our verdict in the software roundup.
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. |


Please read our Comment Policy before commenting.