Definitely the first form.

The second form has a clause which you cannot ever reach, so it is utterly useless. It is not "should never reach this" but "cannot ever reach this", so it might lead the unwary to think that you can somehow --by error-- get to this statement which is simply impossible.

The first form makes it abundantly clear that there are two mutually exclusive possibilities which are chosen on the boolean value of the condition.

This is the same with the third form but only because the first branch ends with a return, so one would have to analyse the content of the branch to note that the last part of the sub can only be reached if the condition is false and not because you can fall through the if part of the sub, which is what one would normally expect. One could say there is some action at a distance which prevents you from normally reaching the last part of the sub.

CountZero

"If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law


In reply to Re: if else and not reachable coding style by CountZero
in thread if else and not reachable coding style by szabgab

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.