Do not use parallel assignment to define variables

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

Metadata

ID: ruby-best-practices/parallel-assignment

Language: Ruby

Severity: Notice

Category: Best Practices

Description

The rule “Do not use parallel assignment to define variables” is a guideline that encourages developers to avoid assigning multiple variables in a single line. This practice is often referred to as “parallel assignment” or “multiple assignment”.

Parallel assignment can lead to code that is difficult to read and understand, especially when complex expressions are involved. It can also lead to unexpected results if the order of evaluation is not clear.

To adhere to this rule, you should assign each variable individually, on its own line. This makes your code more readable and maintainable. For example, instead of writing a, b = 1, 2, you should write a = 1 and b = 2 on separate lines. However, there are exceptions to this rule. Parallel assignment is acceptable when swapping two variables, when assigning the return values of a method, or when using the splat operator to assign multiple values to a single variable.

Non-Compliant Code Examples

# Parallel assignments of literal values.
t, f, n = true, false, nil
i, f, c, r = 123, 1.0, 1i, 2.0r
s, d, i, h = 'uno', "dos", "tres#{cuatro}cinco", <<HERE
seis
HERE
s, i = :foo, :"bar#{baz}"
r1, r2 = /cuatro/, /cinco#{seis}/im

Compliant Code Examples

# Single assignments of literal values.
t = true
f = false
i = 123
s = "dos"
i = :"bar#{baz}"
r = /cuatro/im

# Variable swap
a = 123
b = 456
a, b = b, a

# method return
def multi
  [1, 2]
end
first, second = multi

# Splat
first, *rest = [1, 2, 3]
first, *rest = 1, 2, 3
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