私はちょうど見つけました...もう一度...次のようにリアルタイムの浪費バグ
for (int i = 0; i < length; i++)
{ //...Lots of code
for (int j = 0; i < length; j++)
{
//...Lots of code
}
}
あなたはjであるべきである内側のiの真正面に気づきましたか?私もそうではありませんでした。それで、これから私は以下を使用するつもりです:
for (int i = 0; i < length; i++)
{
for (int i1 = 0; i1 < length; i1++)
{
}
}
内側と外側のwhileループとforループのヒントは何ですか?
編集:貴重な回答をありがとう。提案されたヒントの簡単な要約を以下に示します。
- インデックス変数に意味のある変数名を使用します(代わりにSomeObjCollectionLengthを使用します)
- 内側のループの内容を別のメソッドに配置し、外側のループからそのメソッドを呼び出します
- 外側のループと内側のループの間の管理できない量のコード行は、コードの臭いの強いシグナルです
- コピーして貼り付けたり急いだりしないでください。インデックス変数は注意して記述してください。
LBushkinによる要約を次のように確認することをお勧めします
- 可能な限りforeachとイテレータを使用する
- ループに入る直前に変数を初期化します
- 各ループに1つの機能のみを実行させます。単一のループで責任を混在させないでください
- 可能であれば、ループを十分に短くして、一度にすべてを表示できるようにします