This product is not supported for your selected Datadog site. ().
이 페이지는 아직 영어로 제공되지 않습니다. 번역 작업 중입니다. 현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우 언제든지 연락주시기 바랍니다.
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
classMyClass<Data.define(:field1,:field2)end
Compliant Code Examples
value=Data.define(:first_name,:last_name)
원활한 통합. Datadog Code Security를 경험해 보세요
Datadog Code Security
이 규칙을 사용해 Datadog Code Security로 코드를 분석하세요
규칙 사용 방법
1
2
rulesets:- ruby-best-practices # Rules to enforce Ruby best practices.
리포지토리 루트에 위의 내용을 포함하는 static-analysis.datadog.yml을 만듭니다
무료 IDE 플러그인을 사용하거나 CI 파이프라인에 Code Security 검사를 추가합니다