Sha256: 5584b6c4769d808eef28094682f56cf1bdb171034f8fecbfa924c93b65e23e27

Contents?: true

Size: 1018 Bytes

Versions: 17

Compression:

Stored size: 1018 Bytes

Contents

## Introduction

`Too Many Instance Variables` is a special case of `LargeClass`. 

## Example

Given this configuration

```yaml
TooManyInstanceVariables:
  max_instance_variables: 3
```

and this code:

```Ruby
class TooManyInstanceVariables
  def initialize
    @arg_1 = :dummy
    @arg_2 = :dummy
    @arg_3 = :dummy
    @arg_4 = :dummy
  end
end
```

Reek would emit the following warning:

```
test.rb -- 5 warnings:
  [1]:TooManyInstanceVariables has at least 4 instance variables (TooManyInstanceVariables)
```
## Current Support in Reek

Reek only counts the instance variables you use explicitly like in the example above. Class macros like `attr_accessor` are disregarded.

## Configuration

Reek's `Too Many Instance Variables` detector offers the [Basic Smell Options](Basic-Smell-Options.md), plus:

| Option         | Value       | Effect  |
| ---------------|-------------|---------|
| max_instance_variables     | integer | The maximum number of instance variables that are permitted. Defaults to 4 |

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
reek-4.0.1 docs/Too-Many-Instance-Variables.md
reek-4.0.0 docs/Too-Many-Instance-Variables.md
reek-4.0.0.pre1 docs/Too-Many-Instance-Variables.md
reek-3.11 docs/Too-Many-Instance-Variables.md
reek-3.10.2 docs/Too-Many-Instance-Variables.md
reek-3.10.1 docs/Too-Many-Instance-Variables.md
reek-3.10.0 docs/Too-Many-Instance-Variables.md
reek-3.9.1 docs/Too-Many-Instance-Variables.md
reek-3.9.0 docs/Too-Many-Instance-Variables.md
reek-3.8.3 docs/Too-Many-Instance-Variables.md
reek-3.8.2 docs/Too-Many-Instance-Variables.md
reek-3.8.1 docs/Too-Many-Instance-Variables.md
reek-3.8.0 docs/Too-Many-Instance-Variables.md
reek-3.7.1 docs/Too-Many-Instance-Variables.md
reek-3.7.0 docs/Too-Many-Instance-Variables.md
reek-3.6.1 docs/Too-Many-Instance-Variables.md
reek-3.6.0 docs/Too-Many-Instance-Variables.md