为什么一行中的多个赋值被认为是糟糕的风格?

Why are multiple assignments in one line considered bad style?

本文关键字:赋值 认为是 风格 一行 为什么      更新时间:2023-10-16

在c++中你可以通过这样做来进行多重赋值

x = y = z = 10;

然而很多人告诉我这是一个糟糕的风格,我不应该在没有给我理由的情况下使用它。

谁能给我解释一下为什么这被认为是一个坏的风格?

尝试使用这些定义:

int x;
bool y;
int z;
x = y = z = 10;

并且对x的值感到惊讶

这本身并不是一种糟糕的风格,但是您通常可以通过每行只执行一个赋值并让编译器优化器对其进行排序来使代码更清晰。如果你使用多重赋值样式,那么有时可能不清楚x = y = z = 10;是故意的还是x = y = z + 10;的错别字。通过限制每条语句只赋值一次,您可以在出现错别字时很明显地发现。

只要你知道它们应该是相同的值就没有问题。

改变
x = y = z = 10;

x = y = z = 15;

非常简单。

然而,如果它们是任意相同的,单独的赋值传达了这一点,并且更容易在测试中单独更改。

x = 10;
y = 10;
z = 10;

x = 10;
y = 15;
z = 10;

比断行要好。

关键是你告诉下一个程序员(或6个月后的你自己)看代码。

相关文章: