ループはループしているようにみえているべきか?
http://blogs.wankuma.com/naka/archive/2006/06/25/31290.aspx
Jittaさんのコメント
> ん~。。。全部が全部、ではないですね。
> 誰が、どの様に保守して、どの様な改修が入る可能性があるか、ということではないでしょうか。
>ループしていることに意味があるのに、“実行しないと”ループしていることが分かってもらえないのは、困ります。
>または、「改造」を“やらされる”のが経験の浅い人の場合、コードを正しく読めないと、とんでもないことをしてくれるかもしれません。
> より多くの人が読み解けることを優先するように、言われてきたので。
より多くの人が読み解けるようにというキーワードは非常に大事で、私ももちろんそうしろと口が酸っぱくなるほど行っていることです。
たとえば
if ( XXX.YYY() == true )
わたしはIsXXXであったとしてもこう書いてしまいます。これは確かに冗長で無駄なように思いますが、IsXXXだけでは理解できない場合もあるからです。
#C#では不要だってわかっちゃいるんですけどね
C/C++では
if ( FALSE == XXX.YYY )
という書き方をしますね。
わかりやすさってのも人によって様々ですから、むつかしいのですがC#やVBといった言語ではむつかしく書きづらくなってはいますので、言語を選ぶというのも1つの手でしょうね。