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/avoid-hash-constructor
Language: Ruby
Severity: Notice
Category: Best Practices
Description
The “Use hash literal” rule in Ruby encourages the use of hash literals, {a => b, c => d}, instead of the Hash[] method for creating hashes. This rule is crucial because hash literals are more readable, straightforward, and faster in performance compared to the Hash[] method.
The Hash[] method might be less clear to some developers, especially those new to Ruby, because it’s not immediately obvious that a hash is being created. Moreover, the Hash[] method is slower because it involves method call overhead, which can impact the performance of your application if used extensively.
To adhere to this rule, always use hash literals when creating a new hash. For example, instead of using Hash[a, b, c, d], use {a => b, c => d}. Similarly, if you need to convert an array to a hash, instead of using Hash[ary], use ary.to_h. This will enhance readability and performance of your code.
Non-Compliant Code Examples
Hash[ary]Hash[a,b,c,d]
Compliant Code Examples
ary.to_h{a=>b,c=>d}
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