我有一个FOREACH语句嵌套在IF语句中。
出于某种原因,NetBeans 7.4 认为这是糟糕的编码...:"函数声明中的嵌套块太多"
但是我不能创建一个仅用于循环对象的函数......这是良好的编码行为还是仅仅是 NetBeans 问题?
我想确保我正在编写正确的代码,因为这是一个更大项目的一部分。
编辑:
$client = $aws->get('ElasticTranscoder');
try {
$result = $client->ListPipelines(array());
if (!empty($result['data']['Pipelines'])) {
foreach ($result['data']['Pipelines'] as $pipeline) {
echo $pipeline->PipelineId;
}
}
//print_r($result);
} catch (ElasticTranscoderException $e) {
}
类似问题的答案可以在这里找到。不过,我会根据要求添加更多解释。
在我提到的问题中,函数的复杂性取决于函数中决策点的数量。许多决策点(if
、for
等)表示函数更为复杂。复杂的函数更难测试,因为有很多可能的流程。但是,在您的情况下,if
和 for
都使用相同的变量和一个if
块来检查带有迭代变量的 for
循环的变量的内容,在我看来这不是一个坏做法。它只是防止警告,因此不是问题。但是,如果for
和if
相对不相关,则可能会有所不同。