> On 21 Mar 2017, at 12:38, ToddAndMargo <[email protected]> wrote:
> This is just one of those chatter posts.
>
> To me, the holy grail of coding is maintainability,
> which is why I code in Top Down.
>
> Code like below get my goat because I have to look
> at it several times before I realize what is going on
>
> $Name.IO.f or $Name.IO.open(:w).close;
>
> Basically the above says:
>
> If the the first part of the logical OR passes,
> then don't bother testing the second part. And
> if the second part of the Logical OR passes or
> fails, then "so what”.
FWIW, I agree with you. I don’t like the use of and/or in this capacity. But
many people swear by it. To each its own.
> I'd much rather see
> if not $PathAndName.IO.f { $PathAndName.IO.open(:w).close; }
>
> Which to me says:
>
> If this does not pass, then do something about it.
>
> To me, it is much more maintainable.
And then there is the postfix if/unless way, which I personally like:
$PathAndName.IO.open(:w).close unless $PathAndName.IO.f;
Which to me reads:
Create the file unless it already exists.
Liz