Irresponsible Module

October 18, 2023 ยท View on GitHub

Introduction

Classes and modules are the units of reuse and release. It is therefore considered good practice to annotate every class and module with a brief comment outlining its responsibilities.

For further guideline on how to write good documentation in Ruby, see these links:

Example

Given

class Dummy
  # Do things...
end

Reek would emit the following warning:

test.rb -- 1 warning:
  [1]:IrresponsibleModule: Dummy has no descriptive comment

Fixing this is simple - just an explaining comment:

# The Dummy class is responsible for ...
class Dummy
  # Do things...
end

Current Support in Reek

Irresponsible Module checks classes and modules, including those created through Struct.new and Class.new and directly assigned to a constant.

Configuration

Irresponsible Module supports only the Basic Smell Options.