基于条件检查的循环

marc1886

我正在寻找编写以下代码的最佳方法。

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编写。

tobias_k

您可以仅根据条件更改循环变量,而不必让两个循环的循环变量略有不同,因此它可以有效地从0递增到200,或者从200递减到0。

for (iteration = 0; iteration < max; iteration++)
{
    index = (condition == true)  ?  iteration  :  max-iteration;
    //  600 lines of code, using index
}

您可能要对此添加评论,以便其他人(以及您以后)知道该怎么做。

但是,即使那样,您仍可能应该尝试将这600行代码重构为一个单独的方法-或更确切地说,是几个单独的方法,每个方法都处理这600行的一个方面。根据经验:i)每当您重复执行代码时,无论是600行还是10行,都应尝试使其成为一种方法,并且ii)每当您有很长的代码块时,即使重复很多时候,请尝试将其分为几种方法。这将使代码更具自描述性,并且更易于维护。

这可能并不总是容易的,例如,如果那600条线访问并修改了循环外声明的许多变量,那么再说一遍,这本身可能是设计中的另一个缺陷...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

for循环中的条件检查

来自分类Dev

条件检查C中的循环

来自分类Dev

条件检查C中的循环

来自分类Dev

虽然不检查循环条件

来自分类Dev

基于条件结束的SAS宏循环

来自分类Dev

基于键盘输入条件的循环

来自分类Dev

在for循环逻辑中检查NSDate条件

来自分类Dev

for循环如何检查Java中的条件?

来自分类Dev

在while循环中检查regexp条件(shell)

来自分类Dev

Bash脚本:循环检查多个文件条件

来自分类Dev

Python无限循环检查条件是否满足

来自分类Dev

for循环如何检查Java中的条件?

来自分类Dev

While循环不检查Shell中的条件

来自分类Dev

使用for循环检查`if`中的多个条件

来自分类Dev

循环遍历多维数组并检查条件

来自分类Dev

有额外的while循环条件...基于条件吗?

来自分类Dev

使用基于指针的条件时,即使循环条件为零,循环条件也能工作吗?

来自分类Dev

使用find检查基于文件内容的任意条件

来自分类Dev

基于循环内背景颜色变量的条件CSS

来自分类Dev

VBA(Excel):基于多个搜索条件的查找而无需循环

来自分类Dev

如何基于函数内的foreach循环在php中编写if条件?

来自分类Dev

SAS循环:基于条件垂直汇总观测值

来自分类Dev

if条件基于jquery中for循环中的字符串

来自分类Dev

基于条件将循环元素设置为常量的pythonic方法

来自分类Dev

如何减少在循环或if-else语句中检查条件的时间

来自分类Dev

这个条件检查语句在for循环中合法吗?

来自分类Dev

如何在Swift的while循环条件中检查`nil'?

来自分类Dev

While循环不检查条件,如果没有语句

来自分类Dev

While循环不检查所有条件

Related 相关文章

热门标签

归档