データベースからリストをロードして選択リストに入れる機能があります。関数は次のとおりです: (疑似コード)
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
}
}
NetBeans は、行が多すぎ、ネストされたブロックが多すぎるというコードのヒントを示します。私は個人的に、機能は受け入れられるべきだと感じています。また、ロジックを小さな関数に分割するのは少しばかげていると思いますが、なぜネットビーンズは私に嘘をつくのでしょうか :) ?
私の質問は次のとおりです。
これは悪い論理ですか、それとも先に進んでもいいですか? NetBean の制約内に収まるように関数を再設計する方法についての提案を歓迎します。
編集:
私自身の質問には答えませんが、この場合、不要なネストされたブロックが 1 つあります。pdo は、try/catch ブロックを持つシングルトン クラスから取得されます。例外は既にキャッチされているため、この関数でもう一度繰り返す必要はありません。
編集2:
try catch ブロックを削除することは、Peter から Paul への支払いを奪うようなものでした。そのため、pdo インスタンスの作成時に例外がスローされても、実行は停止しません。したがって、正しく初期化されていない PDO オブジェクトで準備ステートメントを呼び出してみます。これにより、prepare 呼び出しの前に別のテストを実行する必要が生じ、元の関数の作り直しに戻るだけです。
私の経験では、これは私のロジックがどこかで床に落ちていることを意味します。何か言いたいことがあれば、デザインを見直して大声で戻ってきます。
改めて感謝します