이 페이지는 아직 영어로 제공되지 않습니다. 번역 작업 중입니다.
현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우 언제든지 연락주시기 바랍니다.

Metadata

ID: ruby-best-practices/class-comparison

Language: Ruby

Severity: Notice

Category: Best Practices

Description

In Ruby, it is recommended to use the instance_of? method for class comparison. This is because instance_of? only returns true if the object is an instance of that exact class, not a subclass. The method provides a strict way of checking an object’s class, which helps in maintaining the integrity of the code.

Using other methods such as something.class == Date or something.class.equal?(Date) are not considered good coding practice. These methods could lead to unwanted behavior, particularly if the object’s class is a subclass of the specified class.

To adhere to this rule, always use something.instance_of?(Date) when you need to check if an object is an instance of a specific class. This ensures the object is exactly an instance of the class, not a subclass, providing more accurate and reliable results. This practice can help avoid potential bugs and make your code more robust and easier to understand.

Non-Compliant Code Examples

something.class == Date
something.class.equal?(Date)
something.class.eql?(Date)
something.class.name == 'Date'
something.class.name == "Date"

Compliant Code Examples

something.instance_of?(Date)
PREVIEWING: aliciascott/DOCS-9725-Cloudcraft