C言語というのはたとえ自分で書いたソースであっても、数ヶ月後にはまったく理解できないという代物だ。 これを少しでも理解しやすくするためにソースの書き方を工夫しようというのがこの項目の目的だ。
これは有名な話ですが、定数は「#define」などを利用して使うようにしよう。 これはソース中の定数を変更したい場合に非常に便利だし、ソースを読みやすい。
これも上と同じく、数字を直接書くなということです。これは、ソースを読む時に開発者の思考回路を理解するためです。 他人のソースを理解すると言うことは、そのプログラムを書いた人と同じ考えをするということです。だから、 main関数からソースを読んでいったときに文字コードとして直接、定数が書かれていると理解に時間がかかってしまうし、 コード表を引っ張ってくるとか無駄な作業が多くなってしまう。これを防ぐために以下のようなコードはなるべく文字を直接書くようにする。
#define toupper(c) (islower(c) ? (c) - 32 : (c))また以下のような場合でも同じようにする。
if(tn < 86400){これだと一目見ただけで時間を指しているということがはっきりとわかる。
よく、余分な文字を捨てるのに「getchar()」とだけ書かれたソースを見かけるが、これだけでもソースの流れから、 理解はできるが以下のように書くことによって明示できる。
getchar();この他にもコメントを付けるなどして、明示することができるが上の方法が妥当である。
この他にもいくつかあるがそれはまた暇な時に書いて行きたいと思う。ソースなんて書く人の ちょっとした心遣いでいくらでも読みやすくなるのでみんなも気を付けよう。