COBOL言語のコメントと良いコメントの書き方とは?|基礎ガイド

COBOL(コボル)言語で頻繁に活用されるコメントとその書き方とは

基礎-コメントの書き方-イメージ

COBOL(コボル)言語のコメントの書き方

プログラムに書かれているコメントは、そのプログラムで実現している処理の概要や、なぜその処理をしているのか理由を説明するなど、コンピュータに理解させるために書かれるものではなく、プログラムの書き手を含めたプログラムを活用する人の理解のために書かれています。

このようなコメントも立派なプログラムの一部になるため、プログラミング言語ごとにその書き方も違います。さらにCOBOL(コボル)言語の場合は、固定形式と自由形式で書き方が変わりますので、まずはコメントの書き方、使用例からしっかり理解するようにしましょう。

コメントの書き方:

固定形式:標識領域(7桁目)に「*」または「/」を記述します。(※)

自由形式:「*>」を記述します。記述する桁に特に制限はありません。(※)

(※)記号(*、/、*>)以降、その行は全てコメントとして扱われます。

使用例(固定形式、COBOL_SAMPLE01):

基礎-コメントの書き方-使用例

実行結果:

基礎-コメントの書き方-実行結果

使用例(自由形式、COBOL_SAMPLE02):

基礎-コメントの書き方-使用例

実行結果:

基礎-コメントの書き方-実行結果

COBOL(コボル)言語のコメントの使い方

コメントはコンピュータに対してではなく、人に対して書かれるものであると先程説明しましたが、一般的にコメントには大きく2つの使い方があります。

1つ目はメモです。自分を含めたプログラムを見る人に、そのプログラムで何を実現しようとしているのか情報提供する事で、長い複雑なプログラムを隅から隅まで読まなくても内容を理解できるようにサポートします。

自分で書いたプログラムにメモは必要ないと思われる方もいらっしゃるかもわかりませんが、プログラムは記述量が多くなったり、月日が経つと、意外と何をやっていたか忘れてしまうものです。自分のためにもメモを活用するようにしましょう。

2つ目はデバッグです。自分のプログラムにある不具合を探し取り除く作業をデバッグといいますが、この不具合を探し取り除くために、一部の処理をコメント化して読み飛ばしたり、本来必要のないDISPLAY文を組み込む事で処理途中の値を確認したり、いつでも確認できるようにコメント化しておくというような使い方ができます。

COBOL(コボル)言語で良いコメントを書くための注意事項

ここまでの説明は、コメントの書き方、使い方をご紹介しました。ここからは良いコメントの書き方について考えていきましょう。ところで良いコメントとはどういうものでしょうか?それは、実際にそれを活用する人がメリットを感じるものという事になるのではないでしょうか。では実際にコメントを活用する人のメリットを考え、良いコメントとは何かを考えてみましょう。

(コメントのメリット)

  • なぜこの項目がこの値の範囲で利用されているのかなど、注意を促すコメントや単純にプログラムを読むだけではわからない処理の内容をコメントとして残す事で、プログラムの調査・改修時に、プログラムを理解するスピードが上がる。
  • いつどういう目的・背景でその処理を作成したかがわかる事で、プログラムの修正ミス等を未然に防げる。
  • 良く使う処理にコメントが書かれる事で、新しいプログラムを作成する際に、以前のプログラムを流用しやすくなる。
  • エラー処理など、後で書けばいい機能をメモとして残せるため、作業を分割して行いやすい。

このように良いコメントとは、開発生産性や調査作業などの効率につながるような「書き方」であり、プログラムを活用する人を「サポート」する役割を持つものである事がわかると思います。ですので、コメントを書く際は、これらの読み手を意識した、意味のあるコメントを書く事を意識するようにしましょう。

COBOL(コボル)言語のコメントの活用法

最後にコメントの活用法をご紹介します。プログラム開発は大抵複数人で行う事になりますが、コメントの書き方をある程度決めておく事で、非常に効率よくプログラムを作成したり読む事ができます。

ここではCOBOL(コボル)言語でよく使われるファイル入出力処理を例にご紹介します。処理単位にコメントを入れておく事で、実際にプログラムで何をやっているのか、そのポイントがわかりやすくまとまっている事に気付くと思います。

サンプルプログラム(COBOL_SAMPLE03):

  1. > ----------------------------------------------
  2. *> プログラム名 ファイル入出力処理サンプル
  3. *> プログラムID Cobol_sample03
  4. *> バージョン 1.0.0
  5. *> 作成日 作成者
  6. *> YYYY/MM/DD XXXXXXXX
  7. *> 更新日 更新者 更新概要
  8. *> YYYY/MM/DD XXXXXXXX XXXXXXXXXXXXXXXXXX
  9. *> ----------------------------------------------
  10. IDENTIFICATION DIVISION.
  11. PROGRAM-ID. Cobol_sample03.
  12. ENVIRONMENT DIVISION.
  13. INPUT-OUTPUT SECTION.
  14. FILE-CONTROL.
  15. SELECT IN01-FILE
  16. ASSIGN TO "test_in.txt"
  17. ORGANIZATION IS LINE SEQUENTIAL.
  18. SELECT OUT01-FILE
  19. ASSIGN TO "test_out.txt"
  20. ORGANIZATION IS LINE SEQUENTIAL.
  21. *> ----------------------------------------------
  22. *> データ部
  23. *> ----------------------------------------------
  24. DATA DIVISION.
  25. FILE SECTION.
  26. FD IN01-FILE.
  27. 01 IN01.
  28. 03 IN-KOUMOKU1 PIC X(12).
  29. FD OUT01-FILE.
  30. 01 OUT01.
  31. 03 OUT-KOUMOKU1 PIC X(12).
  32. *> ----------------------------------------------
  33. *> 作業場所節
  34. *> ----------------------------------------------
  35. WORKING-STORAGE SECTION.
  36. *> 変数定義
  37. 01 SAMPLE-DATA.
  38. 03 KOUMOKU1 PIC X(12) VALUE "Hello Cobol!".
  39. *> ----------------------------------------------
  40. *> 手続き部
  41. *> ----------------------------------------------
  42. PROCEDURE DIVISION.
  43. SAMPLE-RTN SECTION.
  44. *> 初期処理
  45. PERFORM INIT-RTN.
  46. *> 主処理
  47. PERFORM MAIN-RTN
  48. *> 終了処理
  49. PERFORM END-RTN.
  50. STOP RUN.
  51. SAMPLE-EXIT.
  52. *> ----------------------------------------------
  53. *> 初期処理
  54. *> ----------------------------------------------
  55. INIT-RTN SECTION.
  56. OPEN INPUT IN01-FILE.
  57. OPEN OUTPUT OUT01-FILE.
  58. PERFORM READ01-RTN.
  59. INIT-EXIT.
  60. *> ----------------------------------------------
  61. *> ファイル読込処理
  62. *> ----------------------------------------------
  63. READ01-RTN SECTION.
  64. READ IN01-FILE AT END
  65. GO TO READ01-EXIT
  66. END-READ.
  67. READ01-EXIT.
  68. *> ----------------------------------------------
  69. *> 主処理
  70. *> ----------------------------------------------
  71. MAIN-RTN SECTION.
  72. MOVE KOUMOKU1 TO OUT-KOUMOKU1.
  73. PERFORM WRITE01-RTN.
  74. DISPLAY "ファイル出力完了".
  75. MAIN-EXIT.
  76. *> ----------------------------------------------
  77. *> ファイル出力処理
  78. *> ----------------------------------------------
  79. WRITE01-RTN SECTION.
  80. WRITE OUT01.
  81. WRITE01-EXIT.
  82. *> ----------------------------------------------
  83. *> 終了処理
  84. *> ----------------------------------------------
  85. END-RTN SECTION.
  86. CLOSE IN01-FILE.
  87. CLOSE OUT01-FILE.
  88. END-EXIT.

入力ファイル:

基礎-コメントの書き方-入力ファイル

出力ファイル:

基礎-コメントの書き方-出力ファイル

実行結果:

基礎-コメントの書き方-実行結果

いかがでしたでしょうか?今回はコメントと良いコメントの書き方についてご紹介しました。良いコメントはいつでも書ければいいのですが、一般的にプログラム作成には期限があります。さらに不具合修正となると、コメントの修正は疎かになりがちです。

こういった状況でも良いコメントが書けるように、普段からコメントを書くポイントや書き方の定義を作っておき、後から見る人に気持ちよくプログラムを見てもらえるようなコメントを書くよう心がけましょう。

この記事を読んだ人は、こちらの記事も読んでいます

【未経験者歓迎】COBOLプログラマー・システムエンジニアの募集

株式会社COBOLの求人・転職・募集情報を見る

COBOL入門のカテゴリー

取引企業様 募集中
COBOL技術者 募集
COBOL魂
読者採用
COBOL入門