【问题标题】:Explain the use of full-stop/period/point in a paragraph解释段落中句号/句号/点的使用
【发布时间】:2015-01-05 13:22:59
【问题描述】:

我在业务中使用 COBOL,最初是在一个使用 perform - thru ... 的网站上学习的。

现在我换了工作,当地的编程标准不一样,所以我需要习惯 PERFORM without THRU。

我也对段落中句号/句号/点的使用有疑问。

您可以使用句点来结束段落中的句子。我这样说是因为我在段落以第一点结尾的地方读到,而在其他地方我看到句号/句号/点的用法与此不同。

我写了两个结构,我理解它们应该是相等的。是这样吗?

结构 A:

       PERFORM 100-WRITING.
       PERFORM 200-FINISH.



100-WRITING.
*-----------
   DISPLAY "HI MY NAME IS FELIPE".
   DISPLAY "THE WORLD IS GREAT".
   DISPLAY "I DONT SPEAK ENGLISH".
200-FINISH.
*----------
   DISPLAY "BYE BYE BABY".
   DISPLAY "ESTO ES TODO".

结构 B:

       PERFORM 100-WRITING.
       PERFORM 200-FINISH.



100-WRITING.
*-----------
   DISPLAY "HI MY NAME IS FELIPE"
   DISPLAY "THE WORLD IS GREAT"
   DISPLAY "I DONT SPEAK ENGLISH".
200-FINISH.
*----------
   DISPLAY "BYE BYE BABY"
   DISPLAY "ESTO ES TODO".

【问题讨论】:

  • 应该是一样的。 PERFORM THROUGH 是邪恶的——它产生依赖于布局的代码。
  • @Magoo:PERFORM 1000-CODE THRU 1000-EXIT 并不邪恶。这只是一种不同的 COBOL 风格。
  • “邪恶”可能是一个强烈的词,但应该劝阻那些积极促进自己脚部射击的代码风格,而应该鼓励那些不鼓励的代码风格。我们可以用裸机语言编写所有内容,毕竟那只是另一种代码风格......
  • 对于 Unisys 2200 COBOL 和 DMS 数据库,ON ERROR GO TO 是首选的错误处理方法,因此为了理智起见,将数据库访问封装到 PERFORM ... THRU ... 段落块中是必不可少的。
  • @Kennah 在这种情况下,使用 SECTIONs 将消除对 PERFORM ... THRU ... 的需要。 SECTIONs 不是一个完美的答案,因为不知道的人可以插入一个段落而没有意识到它将它附加到前一个 SECTION 上(同样,一个段落可能会在不知不觉中包含在 THRU 范围内),但是使用 SECTIONs 就少了“东西”(只是PERFORM section-name,与PERFORM paragraph-name 相同)。 SECTION 可以提供一些保护措施,防止复制/粘贴 GO TO 而不更改名称(使所有退出名称相同)。

标签: cobol mainframe


【解决方案1】:

你是对的,你显示的代码是等价的。

段落或部分必须以句号/句点/点结束。这意味着段落或 SECTION 中的最后一件事(除了注释或空行)必须是句号/句点/点。

这并不意味着句号/句号/点实际上结束一个段落或部分。你是对的,段落中的句号/句号/点结束了一个句子。段落或 SECTION 只能包含句子。因此,段落或 SECTION 必须以句号/句号/点结尾,因为句子必须以一个结尾。

   PERFORM 100-WRITING
   PERFORM 200-FINISH
   .

100-WRITING.
*-----------
   DISPLAY "HI MY NAME IS FELIPE"
   DISPLAY "THE WORLD IS GREAT"
   DISPLAY "I DONT SPEAK ENGLISH"
   .
200-FINISH.
*----------
   DISPLAY "BYE BYE BABY"
   DISPLAY "ESTO ES TODO"
   . 

自 1985 年 COBOL 标准以来,PROCEDURE DIVISION 中的 COBOL 中的句子不再真正重要,因此只有编码人员将其变得重要时才需要额外的工作。

我发现像上面那样重写更方便。不要将句号/句点/点附加到任何东西。只需将它放在自己的一行中。那么这意味着您可以在段落/SECTION 中移动任何行,而不必担心句号/句点/点是否在正确的位置,因为它实际上并没有连接到任何东西,所以它永远不会移动,直到您需要它用于下一段/部分。

但是,您的网站编码标准可能不允许您这样做。你总是可以尝试让它们变得更好:-)

【讨论】:

    猜你喜欢
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多