『Cプログラミング診断室』目次次(第3章 上司が問題 大域変数)

第3章 上司が問題

名前


名前はいつも問題になりますが、今回も極めて異常な命名をしています。

■混乱を招く名前■

A_DRIVE, B_DRIVE という変数が24行で宣言されています。これだけ見ると、それぞれは、MS- DOSの A: と B: と関連しているように見えますが、実は全然関係ありません。バックアップのと きの、「元」と「先」をそれぞれ A,B としているのです。まったく、混乱の元ですね。A, B の代 わりに、from, to に変更しました。場所によっては、A, B の代わりに 1, 2 になっているところ もありました。

■名前は長く■

名前を4文字程度に短くするように努力しているようですが、いったい何のためなのでしょうか。 たとえば、38行からは次のようになっています。
    int    FCNT;     /* ファイル数 */
    int    KCNT;     /* 拡張子個数 */
    int    ERCNT;    /* エラーフラグ  */
    int    DFLG;     /* 処理フラグ */
ここは、普通の変数なので英小文字にし、もっと意味を表す変数名で、変な省略なしの名前にし てみましょう。たとえば、次のような変数名にすると、変数を見ただけで意味が想像できるでしょ う。
    int    file_count;     /* ファイル数 */
    int    ext_count;      /* 拡張子個数 */
    int    error_count;    /* エラー数   */
    int    drive_type;     /* 処理フラグ */
その他にもいろいろあります。

構造体中のFNAMEは、file_nameかnameにすべきです。

関数名のdisk_chkはdisk_checkに、dskstatはdisk_statusにでもすべきでしょう。

とにかく、分かる名前、連想しやすい名前の付け方にしましょう。自然な名前を付ければ、関数 名や変数名を気にしなくても、プログラムが楽に読めるようになります。

■大文字・小文字の使い分け■

変数名、関数名が大文字になったり、小文字になったり、使い分けの意図が良く分かりません。 大域変数を大文字にしているようですが、やはり大文字はマクロのために使うのが一般的な使い方 で、他のプログラマにも読んでもらえるでしょう。

そういえば、このプログラムではマクロ定義がありません。変ですね。

インターンシップ体験記



Copyright1996 Hirofumi Fujiwara. No reproduction or republication without written permission
『Cプログラミング診断室』目次次(第3章 上司が問題 大域変数)