我做了一些研究,但找不到我正在寻找的答案,所以我想我会在这里解决这个问题。我想最好使用示例来演示它,因此请考虑以下代码片段:
int delta = 0;
if (some_condition)
delta = 42;
x1 = regular_value1 + delta;
x2 = regular_value2 + delta;
// ...
// where delta is used a lot of times
// basically - if (some_condition == true) => add delta to all variables
// if FALSE - add 0 (thus, effectively not changing anything)
相对
int delta = 42;
if (some_condition)
{
x1 = regular_value1 + delta;
x2 = regular_value2 + delta;
// ...
}
else
{
x1 = regular_value1;
x2 = regular_value2;
// ...
}
例如,一个非常简单的现实世界场景是:假设我正在创建一个窗口窗体,它可能在左侧包含一个图像,但可能不包含。如果没有图像 - 在左侧创建所有其余的表单控件,如果有图像,则将所有其他控件移动到图像的右侧(将增量添加到每个控件的 X 位置)。
我正在编写一个 C# XNA 游戏(因此性能有些相关,但不应以任何方式省略 OOP 原则),因此我的问题是 - 如果“some_condition”在 50% 的时间内为真,那么哪些代码会运行得更快? 还有,哪个代码块更容易维护/阅读?
我知道这不是一个大问题,但我只是想养成编写“最好”代码的习惯。任何输入甚至个人经验都将不胜感激。
谢谢。