我有一个功能,可以从数据库中加载事物列表并将其放入选择列表中。函数如下:(伪代码)
protected function Foo()
{
try {
get pdo instance
prepare statement
if (pdo query executes)
{
while (row = fetched rows)
{
do stuff with row
}
}
}
catch (PDOException $ex)
{
do error stuff here
}
}
Run Code Online (Sandbox Code Playgroud)
NetBeans提供了一条代码提示,提示它有太多行和太多嵌套块。我个人认为该功能应该可以接受。我还觉得将逻辑分解为较小的功能有点麻烦,但是为什么netbeans对我撒谎:)?
所以我的问题如下:
这是不好的逻辑还是我应该继续前进?我欢迎任何有关如何重新设计功能以适合NetBean约束的建议。
编辑:
我不会回答自己的问题,但是在这种情况下,不需要一个嵌套块。从具有try / catch块的单例类中检索pdo。我不需要在此函数中再次重复它,因为已经捕获了异常。
编辑2:
删除尝试捕获块就像抢劫彼得付给保罗一样。因此,如果在创建pdo实例时引发了异常,它不会停止执行。因此,我们尝试在未正确初始化的PDO对象上调用prepare语句。这迫使我们在prepare调用之前进行另一个测试,从而仅返回原始功能的重做。
根据我的经验,这意味着我的逻辑已经基本确立。如果我有话要说的话,我将回顾一下我的设计,然后holla。
再次感谢大家