【发布时间】:2014-09-12 03:24:29
【问题描述】:
我正在寻找编写以下代码的最佳方法。
if (condition == true)
for (i = 0; i < 200; i++)
{
/// 600 lines of code
}
else
for (i = 200; i > 0; i--)
{
/// same 600 lines of code as in above condition check
}
到目前为止,我在两个循环中复制了相同的代码。但是有没有办法进行检查然后让代码只出现一次?唯一取决于条件检查的是循环的工作方式。我必须根据条件检查在循环中前进或后退,并且不希望将相同的 600 行代码粘贴两次。我是用 C 写的。
【问题讨论】:
-
你想要的是一个所谓的“子程序”或“函数”。
-
任何时候你在复制代码,你都在养成一个坏习惯。如果在多个地方需要某些东西,它应该成为一个单独的功能。这称为“封装”。您要复制 600 行的事实让我认为有几个机会可以更好地封装您缺少的代码。
-
一个子程序,从两个地方调用。
标签: if-statement for-loop conditional