人们一直告诉我不要写“向左移动 1 位”,而是写“乘以 2”,因为它更具可读性,并且编译将足够智能以进行优化。
编译通常会做什么,而开发人员不应该做什么(为了代码可读性)?我总是写string.length == 0
而不是string == ""
因为我在 5-6 年前读过,说数字运算要快得多。这仍然是真的吗?
或者,大多数编译器是否足够聪明,可以转换以下内容:
int result = 0;
for (int i = 0; i <= 100; i++)
{
result += i;
}
变成:int result = 5050;
?
你最喜欢做的“优化”是什么,因为大多数编译都不会做?