C言語の綺麗な書き方

管理者:Daisuke Yamashita.
この文章は絶対的なものではありません。したがって、この文章の通りに書いたからと言って、バグが無くなったり、 実行速度が上がるということはありません。ただ、普通のCプログラマーがこの文章にしたがって書かれたソースファイルを 読む時に普段より理解がはやくなるということです。 間違いがあるということも この文書は何か変更があった場合、上記の管理者によって更新されます。 管理はこのBBS内の話し合いによって、ThinkOSコミュニティの会員によってなされます。 コミュニティの会員には簡単なアンケート登録によってなれます。 もしあなたがこの文章に変更が必要なことをに気付いたなら、コミュニティで発言するか管理者へ連絡を 取ってください。その提案は一度、考慮されることでしょう。

また、ThinkOSメーリングリストをThinkOSへの意見や提案の場として利用することが勧められています。

理解をしやすくする

C言語というのはたとえ自分で書いたソースであっても、数ヶ月後にはまったく理解できないという代物だ。 これを少しでも理解しやすくするためにソースの書き方を工夫しようというのがこの項目の目的だ。

定数を直接書くな

これは有名な話ですが、定数は「#define」などを利用して使うようにしよう。 これはソース中の定数を変更したい場合に非常に便利だし、ソースを読みやすい。

なるべく文字コードを直接書くな

これも上と同じく、数字を直接書くなということです。これは、ソースを読む時に開発者の思考回路を理解するためです。 他人のソースを理解すると言うことは、そのプログラムを書いた人と同じ考えをするということです。だから、 main関数からソースを読んでいったときに文字コードとして直接、定数が書かれていると理解に時間がかかってしまうし、 コード表を引っ張ってくるとか無駄な作業が多くなってしまう。これを防ぐために以下のようなコードはなるべく文字を直接書くようにする。

#define toupper(c) (islower(c) ? (c) - 32 : (c))



#define toupper(c) (islower(c) ? (c) - ('a'-'A') : (c))

また以下のような場合でも同じようにする。

if(tn < 86400){



if(tn < 60*60*24)

これだと一目見ただけで時間を指しているということがはっきりとわかる。

戻り値に注意しよう

よく、余分な文字を捨てるのに「getchar()」とだけ書かれたソースを見かけるが、これだけでもソースの流れから、 理解はできるが以下のように書くことによって明示できる。

getchar();



(void)getchar(); //戻り値を無視
or
dummy = getchar(); //ダミー変数に代入

この他にもコメントを付けるなどして、明示することができるが上の方法が妥当である。

この他にもいくつかあるがそれはまた暇な時に書いて行きたいと思う。ソースなんて書く人の ちょっとした心遣いでいくらでも読みやすくなるのでみんなも気を付けよう。


Mar/27/2000

楽天モバイル[UNLIMITが今なら1円] ECナビでポインと Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!


無料ホームページ 無料のクレジットカード 海外格安航空券 解約手数料0円【あしたでんき】 海外旅行保険が無料! 海外ホテル