in reply to How Much Is Too Much (on one line of code)?

Too much on one line.

Since one reads code left to right, there is a tension between the brevity you gain from statement modifiers and the cognitive burden of having to mentally rewrap the preceding statement with a conditional. Backtracking to wrap a conditional around another conditional is a bit much IMHO.

-guinex

  • Comment on Re: How Much Is Too Much (on one line of code)?

Replies are listed 'Best First'.
Re^2: How Much Is Too Much (on one line of code)?
by Jenda (Abbot) on Jun 18, 2007 at 13:21 UTC

    One does, other doesn't. Just like I do not see any reason to rewrap "Stay at home if it rains." to "If it rains, stay at home." I do not see the need to rewrap statement modifiers.

      The issue is the other conditional.

      If the dog is barking let him in otherwise give him a bone, but only if it is raining.

      This sentence reads nicer if we place the "if it is raining" earlier in the sentence. I however, would force the truth of $country

      my $country = $card->country || 'gbr'; $country = $country eq 'gbr' ? '' : uc "[$country]";

      Unfortunately, this breaks when we need to check definedness (until we have a reliable // operator). In that case (assume "0" is a valid country) I would probably go with something like:

      my $country = $card->country; $country = (!defined($country) or $country eq 'gbr') ? '' : uc "[$coun +try]";

      Which is just as complex as the original, but the full conditional is easier to find.

      Good Day,
          Dean

        I would add a comma after 'let him in', it splits the clauses better.

        How can you feel when you're made of steel? I am made of steel. I am the Robot Tourist.
        Robot Tourist, by Ten Benson