Prefer is_a? over kind_of?
ID: ruby-best-practices/isa-over-kindof
Language: Ruby
Severity: Notice
Category: Best Practices
Description
The rule “Prefer is_a?
over kind_of?
” suggests to use the method is_a?
instead of kind_of?
in your Ruby code. Both is_a?
and kind_of?
methods check if an object is an instance of a class or its subclasses. However, is_a?
is generally preferred due to its clear and concise terminology.
This rule is important for maintaining consistency and readability in your code. Using is_a?
makes your code more understandable to other developers because its function is immediately apparent from its name. On the other hand, kind_of?
might lead to confusion as it’s not as clear in its function.
To avoid this rule violation, always use the is_a?
method when you want to check the class of an object. For example, instead of writing something.kind_of?(Array)
, you should write something.is_a?(Array)
. This will make your code easier to read and understand, leading to better maintainability and fewer bugs.
Non-Compliant Code Examples
something.kind_of?(Array)
Compliant Code Examples