Showing posts with label simplifying. Show all posts
Showing posts with label simplifying. Show all posts

Sunday, December 14, 2008

Simplifying conditionals

My job requires me to work in RPG, an old, old language. Worse yet I cannot use the free keyword because of our pre-processor, and I don't see that changing for some time.

With that in mind, I show you what I have learned when working with conditionals (specifically if).

Let's first assume that lowercase are boolean expressions and that uppercase are sets of statements and expressions (i.e., code instructions). Next I present some snippets, following a demonstration on how to simplify them.

Note: Ignore the brackets. I only use then to make clear where code breaks.

Case 1

Simplification:

Case 2

Yes, I do find many of these:

Simplification:

Case 3

Intermediate step:

Simplification:

To some people this can seem quite obvious, but I find that most people don't bother to apply these rules, which gives readability a punch in the face.