Avoid string concatenation


ID: ruby-best-practices/string-interpolation

Language: Ruby

Severity: Notice

Category: Best Practices


The rule “Avoid string concatenation” is an important coding practice in Ruby for ensuring efficient and clean code. String concatenation in Ruby using the ‘+’ operator creates a new string object, which can lead to excessive memory usage and slower performance when dealing with large strings or performing the operation multiple times.

Instead, Ruby provides alternatives that are more efficient. The string interpolation syntax #{} allows you to insert variables directly into strings without creating new string objects. This is not only more memory efficient, but also provides cleaner and more readable code.

Another alternative is the format method, which allows you to create a formatted string with placeholders for variables. This method is particularly useful when dealing with more complex strings, as it provides a clear and concise way to format your strings.

By following this rule, you can write more efficient and cleaner Ruby code, leading to better performance and readability.

Non-Compliant Code Examples

str1 = "Hello"
str2 = "world!"
result = str1 + " " + str2

foo = str1 + "bla"
foo = "bla" + str1
foo = "bla" + bar(baz)
foo = "bli" | str1

Compliant Code Examples

str1 = "Hello"
str2 = "world!"
resultA = "#{str1} <#{str2}>"
resultB = format('%s <%s>', str1, str2)
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