Prefer is_a? over kind_of?

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Metadata

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

something.is_a?(Array)
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis