Cette page n'est pas encore disponible en français, sa traduction est en cours. Si vous avez des questions ou des retours sur notre projet de traduction actuel, n'hésitez pas à nous contacter.
Metadata
ID:ruby-best-practices/integer-type-checking
Language: Ruby
Severity: Notice
Category: Best Practices
Description
The rule enforces the use of the Integer class when performing type checking on integer numbers in Ruby. This is important because, in Ruby, integers can be either Fixnum or Bignum depending on their size. However, both Fixnum and Bignum are subclasses of Integer, making Integer the most appropriate class to use when checking if a number is an integer.
Using Integer for type checking increases the readability and maintainability of your code. It avoids the need to check for both Fixnum and Bignum separately, which can lead to redundant and cluttered code. Additionally, using Integer for type checking ensures that your code will continue to work correctly if Ruby changes its implementation of integer numbers in the future.
To abide by this rule and maintain good coding practices, always use Integer when checking if a number is an integer. Instead of writing num.is_a?(Fixnum) or num.is_a?(Bignum), write num.is_a?(Integer). This ensures your code is succinct, easily understandable, and robust against potential changes in Ruby’s integer implementation.
Non-Compliant Code Examples
timestamp.is_a?(Fixnum)timestamp.is_a?(Bignum)
Compliant Code Examples
timestamp.is_a?(Integer)
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