为什么每个人都告诉我编写这样的代码是一种不好的做法?
if (foo)
Bar();
//or
for(int i = 0 i < count; i++)
Bar(i);
Run Code Online (Sandbox Code Playgroud)
省略花括号的最大理由是它有时可以是它们的两倍.例如,下面是一些为C#中的标签绘制发光效果的代码.
using (Brush br = new SolidBrush(Color.FromArgb(15, GlowColor)))
{
for (int x = 0; x <= GlowAmount; x++)
{
for (int y = 0; y <= GlowAmount; y++)
{
g.DrawString(Text, this.Font, br, new Point(IconOffset + x, y));
}
}
}
//versus
using (Brush br = new SolidBrush(Color.FromArgb(15, GlowColor)))
for (int x = 0; x <= GlowAmount; x++)
for (int y = 0; y <= GlowAmount; y++) …Run Code Online (Sandbox Code Playgroud) 我希望能得到一些澄清if和if else声明没有括号以及如何阅读它们。我可以轻松阅读if else, 和else if带括号的语句,它们对我来说很有意义,但这些总是让我感到困惑,这里有一个示例问题。
if (x > 10)
if (x > 20)
printf("YAY\n");
else printf("TEST\n");
Run Code Online (Sandbox Code Playgroud)