The rule “Avoid array and hash constructor when empty” is an important practice in Ruby for creating empty arrays and hashes. It dictates that developers should use literal constructors [] for arrays and {} for hashes rather than Array.new and Hash.new when the array or hash being created is empty.
This rule is important because it promotes code readability and simplicity. The literal constructors [] and {} are concise, straightforward, and are commonly used in the Ruby community. Using these instead of Array.new and Hash.new makes the code easier to read and understand.
To adhere to this rule, always use [] to initialize an empty array and {} to initialize an empty hash. However, it is acceptable to use Array.new and Hash.new when you are initializing an array or hash with default values, as demonstrated in the compliant code example.
Non-Compliant Code Examples
foo=Array.newbar=Hash.new
Compliant Code Examples
foo=[]bar={}# Okay since they contain valuesbaz=Array.new(42)qux=Hash.new(99)
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