为什么一行中的多个作业被认为是不好的风格?

问题描述:

在C++中,你可以通过这样为什么一行中的多个作业被认为是不好的风格?

x = y = z = 10; 

但多个人做的多任务告诉我这是一个糟糕的风格,我不应该使用它没有给我一个理由来。

有人可以向我解释为什么这被认为是一种不好的风格?

+0

Mmn ..我唯一能想到的坏事是可读性。 –

+1

谁是大家?当然,除了可读性以外,我无法想到这个问题。 – 2012-12-31 21:37:59

+1

你能否详细说一下“每个人”是谁?因为这是当今世界上仅有约10亿行源代码的常见多重分配技术。 – WhozCraig

这不是固有的糟糕风格,但是您通常可以通过每行仅执行一个赋值并让编译器优化器对事件进行排序来使代码更加清晰。如果您使用多重任务风格,那么有时候可能不清楚x = y = z = 10;是有意的还是它是否为x = y = z + 10;之类的错字。通过始终将自己限制为每个语句的一个分配,当发生拼写错误时,您可以明显看到它。

+0

这很有道理。感谢你的回答。 :) – Caesar

只要您知道它们应该都是相同的价值,就没有问题。

例如

改变

x = y = z = 10; 

x = y = z = 15; 

是很容易的。

但是,如果它们是任意相同的,单独的作业表达了这一点,并且更易于单独进行测试。

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

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

比有向上突破线更好。

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

与定义试试看:

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

而感到惊讶x的值。