Most Elegant way of handling nested if statements in the middle of a sequence

Hi everyone there are a couple topics already somewhat similar to this but I haven’t found on them a best overarching principle. I continue to run into sequences that become very wide at certain points due to situations that call for nested IF statements. Each of these sequences I refer to are different blocks within a flowchart contained in a ReFramework.

I want to know what the most elegant want of handlign this.
For example: IF A else B, then each of these having their own ifs within them of IF 1 else 2, or perhaps 1 or 2 also having their own IF a else b within them
A < 1 else 2, B < 1 else 2 | A < 1 else 2, B < 1 else 2 << a else b
^ (the less than signs I’m using as symbols of the coding tree in this case).

The options I see are nested IF statements but then the sequence gets very horizontal looking and wide. You can do nested switches using them like IF statments by doing them as boolean values but I find this more difficult to read than even a very wide if statment because you have to fold/ unfold them. Then you can do a invoke workflow, or what would be easier just a flowchart (skips over need for arguments) and within the flowchart use a flow switch with sequences or IF statements that stand on their own and can be seen visually – this last one seems to be the most ‘elegant’ solution in that it would be easiest for another coder to look at and understand what is going on, invoke workflow I would vote as second.

Is this the best solution? – still hoping for an activity that aligns nested IF statements vertically.


As nested If is not very good from the view point of maintenance, it’s better to rewrite it to simple workflow such as using Switch activity, Dictionary etc, if possible. However, as the approach varies from case to case, I don’t think there is a logic that can be used in all cases.
So, can you share sample workflow file in your case, if possible? It’s no problem if dummy.