"number += 1"可以解释intuitively/mnemonically吗?

Can "number += 1" be explained intuitively/mnemonically?

之前的研究

在多种语言(perl、python、php 等)中有 <value> += <increment> 运算符**,它通过添加 <increment> 到它。这可以在 for 循环中使用,每次迭代都会将 <increment> 累加到 <value>。这样就不必更明确地(冗长地)键入:<value> = <value> + <increment>.

这个运算符的问题是人们经常忘记它是 += 还是 =+。我经常发现我后来以错误的方式输入了它,这是一种艰难的方式。

我以为我最终会在 this PHP tutorial (01:35) 中学习直觉,但他摸索着。

问题

** 请在评论中告诉我这个运算符的正式名称。

我不知道这背后的历史,但我一直认为它是

+="add it first, assign it next"。因此,如果您处于从左到右的阅读文化(英语)中,那么这是有道理的,因为先添加,然后再分配。

出于非常充分的技术原因,请参阅 Sneftel 的回答。

将非等号放在等号之前可以减少歧义:a-=b 只能表示 "Decrement a by b",但 a=-b 也可能表示 "Set a to the negated value of b"。

这在技术上不会是模棱两可的,因为 C 解析规则明确表示令牌消耗是贪婪的(也就是说,如果 =- 是一个运算符,解析器总是倾向于将其解析为 =- 而不是 = -),但从可读性的角度来看,它显然是模棱两可的。