Cobol 顺序编程:更好的嵌套循环或捕获;事件“;

Cobol 顺序编程:更好的嵌套循环或捕获;事件“;,cobol,sequential,Cobol,Sequential,这是一个程序设计的问题。我看到了两种可能性,我想知道哪一种更好,为什么(方面:可读性、性能、可扩展性、复杂性等),如果你有另一种(仅顺序,请不要使用OO内容xD),请随意发布并解释其优缺点 这是一个简单的报告,循环文件中的条目,对它们进行处理并生成打印文件(没有专用打印机、第三方软件,我需要自己计算页面) 解决方案在伪代码中嵌套循环 伪代码中的解决方案事件 我的最后一个程序将使用cobol,但我在ABAP中遇到了同样的问题,所以请随意使用任何顺序语言进行论证。第一个(嵌套循环)是更传统的方式,我

这是一个程序设计的问题。我看到了两种可能性,我想知道哪一种更好,为什么(方面:可读性、性能、可扩展性、复杂性等),如果你有另一种(仅顺序,请不要使用OO内容xD),请随意发布并解释其优缺点

这是一个简单的报告,循环文件中的条目,对它们进行处理并生成打印文件(没有专用打印机、第三方软件,我需要自己计算页面)

解决方案在伪代码中嵌套循环

伪代码中的解决方案事件

我的最后一个程序将使用cobol,但我在ABAP中遇到了同样的问题,所以请随意使用任何顺序语言进行论证。

第一个(嵌套循环)是更传统的方式,我更喜欢它,因为我上个世纪是cobol程序员:)然而,您可能应该查看组织中首选的编码样式,以便做出决定。 如果您对性能问题感兴趣,这里有一个类似的问题,关于If vs evaluate,而不是嵌套循环,但是有一个很长很有趣的答案

第一种(嵌套循环)是更传统的方式,我更喜欢这种方式,因为我上个世纪是一名COBOL程序员:)然而,您可能应该看看您的组织中首选的编码风格,以便做出决定。
如果您对性能问题感兴趣,这里有一个类似的问题,关于If vs evaluate,而不是嵌套循环,但是有一个很长很有趣的答案

我非常想投票否决这项提案,仅仅是因为否决了最先进的技术和方法……我非常想投票否决这项提案,仅仅是因为否决了最先进的技术和方法。。。
//loop over entries
perform until End-Of-File

  perform page-heading    
  //loop over pages
  perform until End-Of-File or End-Of-Page

    perform calculate-entry
    perform print-entry

  end-perform
  perform page-footer
end-perform
//loop over entries
perform until End-Of-File

  evaluate line-counter
    case heading-position
      perform page-heading
    case footer-position
      perform reset-line-counter
      perform page-footer
    case other
      perform calculate-entry
      perform print-entry
  end-evaluate
end-perform