Scala

Scala

Made by DeepSource

Specifying the default value for an implicit parameter may adversely affect readability SC-R1059

Anti-pattern
Major

Implicit parameters are different from regular parameters. When a parameter is marked as implicit, Scala looks for an appropriate value in the call site of the function, and, then in the corresponding companion object. To further simplify, it means that an appropriate value is taken from the context that the function is called in. Default parameter values on the other hand are used when the user does not explicitly supply a value. Combining both implicit and default values for a parameter may significantly affect the code readability and refactoring. It is recommended that you rethink and simplify this approach.