COBOLのインデントと可読性の高いコードの書き方を徹底解説!初心者でも読みやすいプログラムの基本
生徒
「COBOLのプログラムって、どこで改行すればいいのか分かりません。読みやすくするにはどうすればいいんですか?」
先生
「COBOLでは、インデントと呼ばれる行の先頭の空白がとても大切です。これによって、プログラム全体が見やすくなります。」
生徒
「インデントって具体的にはどうすればいいんですか?」
先生
「それでは、インデントのルールや、どうすればCOBOLのコードが読みやすくなるか、一緒に見ていきましょう!」
1. インデントとは?
インデントとは、プログラムの行の先頭に空白(スペース)を入れて、コードの構造を分かりやすくすることです。可読性(読みやすさ)を高めるために重要な書き方です。
特にCOBOLでは、段組みが明確に決まっているため、インデントが非常に重要になります。行の位置をそろえることで、プログラム全体の流れがはっきりと見えるようになります。
2. COBOLのインデントの基本ルール
COBOLでは、コードを書く位置にルールがあります。以下のように、それぞれの内容を書くカラム(列)が決まっています:
- 1~6列目:行番号やラベル(あまり使わない)
- 7列目:アスタリスク(
*
)で始めるとコメント行 - 8列目以降:プログラムの命令を書く場所
そのため、プログラムの命令は基本的に8列目から書き始めるのがルールです。
3. インデントで構造を明確にしよう
COBOLでは、IF
文やPERFORM
などの命令が入れ子(ネスト)になることがあります。このとき、インデントを使うことで、どの処理がどこに含まれているかを明確にできます。
例えば、次のような例を見てみましょう。
IF AGE >= 20 THEN
DISPLAY "あなたは成人です。"
PERFORM CHECK-ELIGIBILITY
END-IF
このように、IF
に続く処理をインデント(字下げ)することで、構造が分かりやすくなります。
4. インデントがないとどうなる?
インデントを使わないと、どの命令がどこに属しているのか分かりにくくなります。たとえば、次のコードを見てください。
IF AGE >= 20 THEN
DISPLAY "あなたは成人です。"
PERFORM CHECK-ELIGIBILITY
END-IF
処理の範囲が分かりづらく、プログラムのミスにもつながりやすくなります。
5. インデントとコメントを合わせて使おう
さらにコードを読みやすくするために、コメントも一緒に使うと効果的です。コメントとは、プログラムの中に説明を入れるための文章です。
COBOLでは、*
を使って次のように書きます:
* ユーザーの年齢をチェックする処理
IF AGE >= 20 THEN
DISPLAY "あなたは成人です。"
END-IF
このようにコメントを適切に入れることで、自分があとから見たときにも分かりやすく、他の人にも伝わりやすいコードになります。
6. インデントでトラブルを防ぐ
インデントを使うことで、ミスを防ぐことにもつながります。たとえば、IF文の終わりを見逃してしまったり、どのPERFORMがどこまでか分からなくなると、正しく動作しなくなる可能性があります。
インデントを揃えておけば、こういったエラーも未然に防ぐことができます。
7. 読みやすさはプログラムの品質にもつながる
プログラムは、一度書いたら終わりではありません。あとから修正したり、別の人が読んで理解することもあります。
そのときに、インデントがきちんとしていないと、どこからどこまでが何の処理なのか分からなくなってしまいます。読みやすいコードは、ミスが少なく、保守もしやすい高品質なプログラムになります。
8. 実際にインデントを使ってみよう(サンプルコード)
次は、簡単なCOBOLプログラムを例にして、インデントの使い方を確認しましょう。
IDENTIFICATION DIVISION.
PROGRAM-ID. INDENT-SAMPLE.
PROCEDURE DIVISION.
DISPLAY "年齢を入力してください:".
ACCEPT AGE.
IF AGE >= 20 THEN
DISPLAY "あなたは成人です。"
ELSE
DISPLAY "あなたは未成年です。"
END-IF.
STOP RUN.
このように、構造がはっきりしていると、読み手が迷うことなく理解できます。