Thinkers'Studio
JavaとC言語の自習ツール
素直に書くことの大切さ

プログラムの書き方

 プログラムの書き方は、正解がひとつではなく、幾通りもあります。
 コードを読んだときに意味がよく分からなかったり 混乱を招くようであれば、よいプログラムとはいえません。
 コンパクトに書こうと技巧に懲りすぎると、分かりにくいプログラムになりがちです。

 日本語で書かれた読み物でも、回りくどく長い文章では、何が言いたいのかよく分かりません。
 かといって、ブツブツ切れて、脈絡がないのも分かりづらいものです。

素直でない?例

 好みの問題もありますが、私は次のような書き方は分かりにくいと感じます。

 (読みにくい例1) 条件式がネストしていて、少し考えないと何をしているか分からない
for( i = 1; i <= 20; i++ )
    printf( "%2d%s", i, i % 10 ? i % 5 ? " " : "\t\t" : "\n" );
  上の処理は、下のように出力しようと書いたものです。
 1  2  3  4  5           6  7  8  9 10
11 12 13 14 15          16 17 18 19 20
 (読みにくい例2) 判断文に式と代入文を組み合わせている。分けて書く方が分かりやすい
if( (man_ttl + woman_ttl)/(cnt = man_cnt + woman_cnt) > man_ttl/man_cnt )
    printf( "全体平均が男性平均より高い\n" );
}
 みなさんは、どう感じましたか?
 ほかにも、繰り返しの条件式がとても複雑になっているものなどが、読みづらい例として思い浮かびます。

素直に書かないとあとで大変な思いをすることに

 プログラムは使い捨てではないので、処理内容の変更や機能追加など、手を入れて使います。その際、コードの書き方によって工数に大きな違いが生まれます。何が書かれているかを読み解くだけで、とても時間がかかる場合があるためです。そして、そのようなコードは、直し方を考えるのも苦労することが多いので、誰かがあとで大変な思いをすることになります。
 素直に分かりやすいプログラムを書くように心がけましょう。

その他の Tips も参考にしてください。
[ 関連記事 ] 変数名のつけ方のコツ, プログラムが分からないとき, 読みやすいプログラムを書く
[ C言語やJavaのTips ] Tips一覧