名前はいつも問題になりますが、今回も極めて異常な命名をしています。 ■混乱を招く名前■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にでもすべきでしょう。 とにかく、分かる名前、連想しやすい名前の付け方にしましょう。自然な名前を付ければ、関数 名や変数名を気にしなくても、プログラムが楽に読めるようになります。 ■大文字・小文字の使い分け■変数名、関数名が大文字になったり、小文字になったり、使い分けの意図が良く分かりません。 大域変数を大文字にしているようですが、やはり大文字はマクロのために使うのが一般的な使い方 で、他のプログラマにも読んでもらえるでしょう。そういえば、このプログラムではマクロ定義がありません。変ですね。
|