COBOL言語のコメントと良いコメントの書き方とは?|基礎ガイド
COBOL(コボル)言語で頻繁に活用されるコメントとその書き方とは
COBOL(コボル)言語のコメントの書き方
プログラムに書かれているコメントは、そのプログラムで実現している処理の概要や、なぜその処理をしているのか理由を説明するなど、コンピュータに理解させるために書かれるものではなく、プログラムの書き手を含めたプログラムを活用する人の理解のために書かれています。
このようなコメントも立派なプログラムの一部になるため、プログラミング言語ごとにその書き方も違います。さらにCOBOL(コボル)言語の場合は、固定形式と自由形式で書き方が変わりますので、まずはコメントの書き方、使用例からしっかり理解するようにしましょう。
コメントの書き方:
固定形式:標識領域(7桁目)に「*」または「/」を記述します。(※)
自由形式:「*>」を記述します。記述する桁に特に制限はありません。(※)
(※)記号(*、/、*>)以降、その行は全てコメントとして扱われます。
使用例(固定形式、COBOL_SAMPLE01):
実行結果:
使用例(自由形式、COBOL_SAMPLE02):
実行結果:
COBOL(コボル)言語のコメントの使い方
コメントはコンピュータに対してではなく、人に対して書かれるものであると先程説明しましたが、一般的にコメントには大きく2つの使い方があります。
1つ目はメモです。自分を含めたプログラムを見る人に、そのプログラムで何を実現しようとしているのか情報提供する事で、長い複雑なプログラムを隅から隅まで読まなくても内容を理解できるようにサポートします。
自分で書いたプログラムにメモは必要ないと思われる方もいらっしゃるかもわかりませんが、プログラムは記述量が多くなったり、月日が経つと、意外と何をやっていたか忘れてしまうものです。自分のためにもメモを活用するようにしましょう。
2つ目はデバッグです。自分のプログラムにある不具合を探し取り除く作業をデバッグといいますが、この不具合を探し取り除くために、一部の処理をコメント化して読み飛ばしたり、本来必要のないDISPLAY文を組み込む事で処理途中の値を確認したり、いつでも確認できるようにコメント化しておくというような使い方ができます。
COBOL(コボル)言語で良いコメントを書くための注意事項
ここまでの説明は、コメントの書き方、使い方をご紹介しました。ここからは良いコメントの書き方について考えていきましょう。ところで良いコメントとはどういうものでしょうか?それは、実際にそれを活用する人がメリットを感じるものという事になるのではないでしょうか。では実際にコメントを活用する人のメリットを考え、良いコメントとは何かを考えてみましょう。
(コメントのメリット)
- なぜこの項目がこの値の範囲で利用されているのかなど、注意を促すコメントや単純にプログラムを読むだけではわからない処理の内容をコメントとして残す事で、プログラムの調査・改修時に、プログラムを理解するスピードが上がる。
- いつどういう目的・背景でその処理を作成したかがわかる事で、プログラムの修正ミス等を未然に防げる。
- 良く使う処理にコメントが書かれる事で、新しいプログラムを作成する際に、以前のプログラムを流用しやすくなる。
- エラー処理など、後で書けばいい機能をメモとして残せるため、作業を分割して行いやすい。
このように良いコメントとは、開発生産性や調査作業などの効率につながるような「書き方」であり、プログラムを活用する人を「サポート」する役割を持つものである事がわかると思います。ですので、コメントを書く際は、これらの読み手を意識した、意味のあるコメントを書く事を意識するようにしましょう。
COBOL(コボル)言語のコメントの活用法
最後にコメントの活用法をご紹介します。プログラム開発は大抵複数人で行う事になりますが、コメントの書き方をある程度決めておく事で、非常に効率よくプログラムを作成したり読む事ができます。
ここではCOBOL(コボル)言語でよく使われるファイル入出力処理を例にご紹介します。処理単位にコメントを入れておく事で、実際にプログラムで何をやっているのか、そのポイントがわかりやすくまとまっている事に気付くと思います。
サンプルプログラム(COBOL_SAMPLE03):
- > ----------------------------------------------
- *> プログラム名 ファイル入出力処理サンプル
- *> プログラムID Cobol_sample03
- *> バージョン 1.0.0
- *> 作成日 作成者
- *> YYYY/MM/DD XXXXXXXX
- *> 更新日 更新者 更新概要
- *> YYYY/MM/DD XXXXXXXX XXXXXXXXXXXXXXXXXX
- *> ----------------------------------------------
- IDENTIFICATION DIVISION.
- PROGRAM-ID. Cobol_sample03.
- ENVIRONMENT DIVISION.
- INPUT-OUTPUT SECTION.
- FILE-CONTROL.
- SELECT IN01-FILE
- ASSIGN TO "test_in.txt"
- ORGANIZATION IS LINE SEQUENTIAL.
- SELECT OUT01-FILE
- ASSIGN TO "test_out.txt"
- ORGANIZATION IS LINE SEQUENTIAL.
- *> ----------------------------------------------
- *> データ部
- *> ----------------------------------------------
- DATA DIVISION.
- FILE SECTION.
- FD IN01-FILE.
- 01 IN01.
- 03 IN-KOUMOKU1 PIC X(12).
- FD OUT01-FILE.
- 01 OUT01.
- 03 OUT-KOUMOKU1 PIC X(12).
- *> ----------------------------------------------
- *> 作業場所節
- *> ----------------------------------------------
- WORKING-STORAGE SECTION.
- *> 変数定義
- 01 SAMPLE-DATA.
- 03 KOUMOKU1 PIC X(12) VALUE "Hello Cobol!".
- *> ----------------------------------------------
- *> 手続き部
- *> ----------------------------------------------
- PROCEDURE DIVISION.
- SAMPLE-RTN SECTION.
- *> 初期処理
- PERFORM INIT-RTN.
- *> 主処理
- PERFORM MAIN-RTN
- *> 終了処理
- PERFORM END-RTN.
- STOP RUN.
- SAMPLE-EXIT.
- *> ----------------------------------------------
- *> 初期処理
- *> ----------------------------------------------
- INIT-RTN SECTION.
- OPEN INPUT IN01-FILE.
- OPEN OUTPUT OUT01-FILE.
- PERFORM READ01-RTN.
- INIT-EXIT.
- *> ----------------------------------------------
- *> ファイル読込処理
- *> ----------------------------------------------
- READ01-RTN SECTION.
- READ IN01-FILE AT END
- GO TO READ01-EXIT
- END-READ.
- READ01-EXIT.
- *> ----------------------------------------------
- *> 主処理
- *> ----------------------------------------------
- MAIN-RTN SECTION.
- MOVE KOUMOKU1 TO OUT-KOUMOKU1.
- PERFORM WRITE01-RTN.
- DISPLAY "ファイル出力完了".
- MAIN-EXIT.
- *> ----------------------------------------------
- *> ファイル出力処理
- *> ----------------------------------------------
- WRITE01-RTN SECTION.
- WRITE OUT01.
- WRITE01-EXIT.
- *> ----------------------------------------------
- *> 終了処理
- *> ----------------------------------------------
- END-RTN SECTION.
- CLOSE IN01-FILE.
- CLOSE OUT01-FILE.
- END-EXIT.
入力ファイル:
出力ファイル:
実行結果:
いかがでしたでしょうか?今回はコメントと良いコメントの書き方についてご紹介しました。良いコメントはいつでも書ければいいのですが、一般的にプログラム作成には期限があります。さらに不具合修正となると、コメントの修正は疎かになりがちです。
こういった状況でも良いコメントが書けるように、普段からコメントを書くポイントや書き方の定義を作っておき、後から見る人に気持ちよくプログラムを見てもらえるようなコメントを書くよう心がけましょう。
この記事を読んだ人は、こちらの記事も読んでいます
あなたのCOBOL技術を活かしませんか?
COBOL入門のカテゴリー
1. 優良社員が多数在籍しています
2. 即日派遣、又は請負います
3. 安心価格で請負います
4. 同時、協力会社募集中です
1. 正社員
2. 契約社員
3. 個人事業主
などの 求人情報 が閲覧できます。
目指せ!COBOLダントツ一番企業。
創業当初の話や理念が閲覧できます。
応募条件
※2020年5月31日を以って、締切りました。
18歳~28歳の方。
正社員採用において、北川社長の著書『祈り方が9割』を読んで感想文を事前に提出すると、無条件で最終面接まで進むことができます。
COBOLとは、どのようなプログラミング言語なのか、初心者にもわかりやすく、文法の例をあげて解説してます。
COBOL入門の人気記事
- COBOL言語とは?プログラムの書き方やルールを解説!|基礎ガイド
- 【COBOL言語】条件分岐処理の代名詞「IF文」について知ろう|用語辞典
- COBOL言語の「MOVE文」とは?転記のルールをご紹介します|用語辞典
- COBOL言語の「STRING文」とは?文字連結の基礎知識と注意点|用語辞典
- 多枝分岐ってなに?COBOL言語の「EVALUATE文」を知ろう!|用語辞典
- COBOL言語の「PICTURE句」とは?基本事項を解説します!|用語辞典
- COBOL言語で計算処理をするなら「COMPUTE文」|用語辞典
- COBOL言語の「REDEFINES句」とは?使い方を確認しよう!|用語辞典
- 覚えておけば楽ができる?COBOL言語の「COPY文」の使い方|用語辞典
- COBOL言語の文字列操作のパターンを理解しよう!|基礎ガイド
- COBOL言語の初期化処理に重宝する「INITIALIZE文」とは?|用語辞典
- COBOL言語の「LOW-VALUE」の使い方について理解しよう!|基礎ガイド
- COBOL言語の「OCCURS句」について知ろう!学ぶべき基本とは|用語辞典
- COBOL言語初心者も安心! 難解「CALL文」をスッキリ解決|用語辞典
- COBOL言語の「PERFORM文」とは。実行制御について解説!|用語辞典
- COBOL言語の繰り返し処理のパターンを理解しよう!|基礎ガイド
- COBOL言語の「定数」の種類と使い方について理解しよう!|用語辞典
- COBOLのDBアクセスパターンを学ぼう!「FETCH」|応用ガイド
- COBOL言語の「DISPLAY文」は、ディスプレイ出力の為にある|用語辞典
- COBOL言語の「VARYING句」は便利?使用方法を学びましょう|用語辞典