Further Reading — Chapter 6: Advanced Conditional Logic

Books

  • Stern, N., Stern, R., & Ley, J. (2006). COBOL for the 21st Century (11th ed.). Wiley. Chapters 7-8 provide thorough coverage of conditional logic and EVALUATE. The worked examples are particularly well-chosen for business applications.

  • Murach, M. (2020). Murach's Mainframe COBOL. Murach. Chapter 8 covers conditional logic with an emphasis on practical patterns used in production mainframe environments. The treatment of 88-level condition names is especially strong.

  • Cutler, G. (2014). GnuCOBOL Programmer's Guide. Free online reference with comprehensive coverage of all condition types. Useful for students working with GnuCOBOL in the Student Mainframe Lab. Available at: https://gnucobol.sourceforge.io/

IBM Documentation

  • IBM Enterprise COBOL for z/OS Language Reference (SC27-1408). The definitive reference for condition evaluation rules, operator precedence, and the exact semantics of EVALUATE. Section 6.6 (Conditional expressions) is essential reading.

  • IBM Enterprise COBOL for z/OS Programming Guide (SC27-1412). Chapter on program design includes IBM's recommendations for structured conditional logic and performance considerations for condition evaluation.

Articles and Papers

  • McCabe, T. (1976). "A Complexity Measure." IEEE Transactions on Software Engineering, SE-2(4), 308-320. The original paper defining cyclomatic complexity — the metric most directly affected by conditional logic design. Understanding McCabe's measure helps you quantify why deeply nested IFs are problematic.

  • Dijkstra, E. W. (1968). "Go To Statement Considered Harmful." Communications of the ACM, 11(3), 147-148. The foundational paper on structured programming. While Dijkstra's position on GO TO was more nuanced than the title suggests, this paper explains why the guard clause debate exists.

Online Resources

  • IBM Z Xplore (https://www.ibm.com/it-infrastructure/z/education/zxplore) Free hands-on access to a z/OS mainframe environment. Use the COBOL challenges to practice EVALUATE and 88-level patterns in a real mainframe context.

  • COBOL Standard (ISO/IEC 1989:2023). The latest COBOL standard defines all condition types, EVALUATE semantics, and 88-level rules. While dense, it is the authoritative source for language behavior.

  • Chapter 7: Iteration Patterns — Conditional logic frequently controls loop behavior through PERFORM UNTIL and TEST BEFORE/AFTER.
  • Chapter 8: Paragraph and Section Design — The structural strategies for reducing nesting (paragraph extraction, guard clauses) are explored as design principles.
  • Chapter 29: Compliance Reporting — The regulatory conditional logic patterns from the GlobalBank case study are extended to full compliance reporting systems.
  • Chapter 35: Testing Financial Applications — Techniques for testing complex conditional logic, including decision table-based test case generation.