我刚刚发现......再次......一个实时浪费错误如下
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 )
- 将内循环的内容放入一个单独的方法中,并从外循环调用该方法
- 外循环和内循环之间无法管理的代码行数是代码异味的强烈信号
- 避免复制粘贴和匆忙,小心编写索引变量
- 尽可能使用 foreach 和迭代器
- 在进入循环之前初始化变量
- 使每个循环只执行一个功能。避免在一个循环中混合职责
- 如果可能的话,让你的循环足够短,以便一次查看所有内容