gpt4 book ai didi

c# - 为什么 "monkey with the loop index"不好?

转载 作者:可可西里 更新时间:2023-11-01 03:02:47 25 4
gpt4 key购买 nike

Steve McConnell 的 list 项目之一是 you should not monkey with the loop index (第 16 章,第 25 页,循环索引,PDF 格式)。

这具有直觉意义,并且是我一直遵循的一种做法,除非我以前学过如何编程。

在最近的一次代码审查中,我发现了这个笨拙的循环并立即将其标记为可疑。

        for ( int i=0 ; i < this.MyControl.TabPages.Count ; i++ )
{
this.MyControl.TabPages.Remove ( this.MyControl.TabPages[i] );
i--;
}

这几乎很有趣,因为它设法通过将索引保持为零来工作,直到所有 TabPage 都被删除。

这个循环可以写成

        while(MyControl.TabPages.Count > 0)
MyControl.TabPages.RemoveAt(0);

而且由于控件实际上是在与循环大致同时编写的,所以它甚至可以写成

        MyControl.TabPages.Clear();

从那以后,我一直受到关于代码审查问题的质疑,我发现我对为什么这是不好的做法的表述并不像我希望的那样有力。我说过更难理解循环的流程,因此更难维护和调试,最终在代码的生命周期内成本更高。

是否有更好的说明为什么这是不好的做法?

最佳答案

我觉得你的表达很棒。也许可以这样写:

Since the logic can be expressed much clearer, it should.

关于c# - 为什么 "monkey with the loop index"不好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/457036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com