Just had some requirements through for a query that a customer has specified.

“Set the value to 1 if the Outcome is not Complete or Cancelled or NULL”

This could be variously interpreted as:

“if the Outcome is NOT Complete and NOT Cancelled and NOT NULL”

Or “if the Outcome is NOT Complete, and NOT Cancelled, or IS NULL”

Or perhaps even “if the Outcome is NOT ‘Complete or Cancelled’ or IS NULL”

Obviously I’ll go back to them for clarity, but it’s a wonder why so often “bugs” arise based on interpretation of specifications.

  • LaggyKar@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    6 months ago

    What’s the difference between case 2 and 3? Those look the same to me. The three cases look like:

    • ¬complete ∧ ¬cancelled ∧ ¬null
    • (¬complete ∧ ¬cancelled) ∨ null
    • ¬(complete ∨ cancelled) ∨ null