中の技術日誌ブログ

C#とC++/CLIと
VBと.NETとWindowsで戯れる
 

目次

Blog 利用状況

ニュース

自己紹介

東京でソフトウェアエンジニアをやっています。
お仕事大募集中です。
記事執筆や、講師依頼とかでも何でもどうぞ(*^_^*)
似顔絵 MSMVPロゴ
MSMVP Visual C# Since 2004/04-2013/03

記事カテゴリ

書庫

日記カテゴリ

00-整理

01-MSMVP

ループはループしているようにみえているべきか?

ループはループしているようにみえているべきか?
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つの手でしょうね。

投稿日時 : 2006年6月27日 9:47

コメントを追加

# re: ループはループしているようにみえているべきか? 2006/06/27 12:41 囚人

> if ( XXX.YYY() == true )

記憶が確かならば、Code Complete では
bool found = false

if( found ){

こう書け!見たいな事が書いてあったような気がします。
まぁ私はどちらも好きですが。


> if ( FALSE == XXX.YYY )

あまり好きじゃないですねぇ。FALSE が主語みたいで。
まぁ代入してしまう危険性を考えたら…。でも最近のコンパイラは警告してくれません?

# re: ループはループしているようにみえているべきか? 2006/06/27 12:49 買太郎

if( !IsXXX )
は、嫌ですね

後、if(!IsXXX){}の
{}が無いのは、読みにくいので嫌いです。
たぶん、VB出身だからかな?

書くと余計に見づらくなる時意外は、書いて欲しい派です。

でも、誰にでも読みやすいってのは、重要な事だと私も思ってます。

# re: ループはループしているようにみえているべきか? 2006/06/27 18:40 Jitta

> わかりやすさってのも人によって様々ですから
それです。
例えば、C 言語で、3項演算子を書くと怒られましたorz
「なんのときにどれが入るのかわからん。if 文でええやん」

例えば、C 言語で、何でもかんでもマクロ定義するヤツを怒りました(^-^;
「デバッガで値が見えん。やってることが見えん」

書いた人にはわかりやすいんですけどね。。。
でも、「勉強しない」のとは、違うと思う(`ヘ´) プンプン。

タイトル
名前
URL
コメント