diff --git a/README.md b/README.md index cce2abd3d..009976fc4 100644 --- a/README.md +++ b/README.md @@ -210,15 +210,27 @@ Reek currently includes checks for some aspects of and more. See the [Code Smells](docs/Code-Smells.md) for up to date details of exactly what Reek will check in your code. -Note that [Unused Private Method](docs/Unused-Private-Method.md) is disabled by default +**Special configuration for controversial detectors:** + +[Unused Private Method](docs/Unused-Private-Method.md) is disabled by default because it is [kind of controversial](https://github.com/troessner/reek/issues/844) which means -you have to explicitly activate in your configuration via +you have to explicitly activate it in your configuration via ```Yaml UnusedPrivateMethod: enabled: true ``` +[Utility Function](docs/Utility-Function.md) is a [controversial detector](https://github.com/troessner/reek/issues/681) +as well that can turn out to be really unforgiving. +As a consequence, we made it possible to disable it for non-public methods like this: + +```Yaml +--- +UtilityFunction: + public_methods_only: true +``` + ## Configuration ### Command-line interface diff --git a/docs/Code-Smells.md b/docs/Code-Smells.md index 2de878635..16594d1c2 100644 --- a/docs/Code-Smells.md +++ b/docs/Code-Smells.md @@ -11,8 +11,10 @@ Reek currently includes checks for the following smells: * [Control Parameter](Control-Parameter.md) * [Data Clump](Data-Clump.md) * [Duplicate Method Call](Duplicate-Method-Call.md) +* [Instance Variable Assumption](Instance-Variable-Assumption.md) * [Irresponsible Module](Irresponsible-Module.md) * [Large Class](Large-Class.md), including + * [Too Many Constants](Too-Many-Constants.md) * [Too Many Instance Variables](Too-Many-Instance-Variables.md) * [Too Many Methods](Too-Many-Methods.md) * [Long Parameter List](Long-Parameter-List.md), and its special case [Long Yield List](Long-Yield-List.md) @@ -23,8 +25,10 @@ Reek currently includes checks for the following smells: * [Nested Iterators](Nested-Iterators.md) * [Prima-Donna-Method](Prima-Donna-Method.md) * [Simulated Polymorphism](Simulated-Polymorphism.md), including + * [Manual Dispatch](Manual-Dispatch.md) * [Nil Check](Nil-Check.md) * [Repeated Conditional](Repeated-Conditional.md) +* [Subclassed From Core Class](Subclassed-From-Core-Class.md) * [Too Many Statements](Too-Many-Statements.md) * [Uncommunicative Name](Uncommunicative-Name.md), including * [Uncommunicative Method Name](Uncommunicative-Method-Name.md)