이 페이지는 아직 한국어로 제공되지 않으며 번역 작업 중입니다. 번역에 관한 질문이나 의견이 있으시면 언제든지 저희에게 연락해 주십시오.

Metadata

ID: ruby-best-practices/no-extend-data-define

Language: Ruby

Severity: Warning

Category: Best Practices

Description

The rule “Do not extend Data.define” is an important guideline in Ruby programming. Data.define is a method used to define a data type with specified fields, and it returns an anonymous class. Extending this anonymous class can lead to unpredictable behaviors and complications in your code, making it less maintainable and potentially introducing bugs.

It’s important because extending Data.define can lead to a lack of clarity about the hierarchy and structure of your classes. In addition, this practice can make the code more difficult to read and understand for other developers, thereby reducing the code’s maintainability.

Good coding practice dictates that you should avoid extending Data.define. Instead, you can assign the result of Data.define to a constant, and use this constant where needed in your code. For example, instead of writing class MyClass < Data.define(:field1, :field2), you should write MyClass = Data.define(:field1, :field2). This way, MyClass will be a clearly defined data type with the specified fields, and the code will be more readable and maintainable.

Non-Compliant Code Examples

class MyClass < Data.define(:field1, :field2)
end

Compliant Code Examples

value = Data.define(:first_name, :last_name)
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

PREVIEWING: brett0000FF/node-compatibility