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
something.is_a?(Array)
Seamless integrations. Try Datadog Code Analysis
Datadog Code Analysis
Try this rule and analyze your code with Datadog Code Analysis
How to use this rule
1
2
rulesets:- ruby-best-practices # Rules to enforce Ruby best practices.
Create a static-analysis.datadog.yml with the content above at the root of your repository
Use our free IDE Plugins or add Code Analysis scans to your CI pipelines