I quite like your use of the ternary operator there. I tend to be reluctant to use it because of the usual increased readability of explicit if/else statements (at least in most of the code that I write), though in this case I think it is well suited to the task.
I think there's a limit to the value of explicit step-by-step variable assignment and use, however, for readability. In this case, the arithmetic formula used to produce results seems obfuscated by being broken up the way you've done so -- though it may well just be a matter of taste, or I may just be weird to think it's more readable to keep the formula a little more integrated.
I'd appreciate it if you'd have a look at the relevant parts of my response to liverpole, and perhaps comment on the way I used explicit variable names for the start and end integers, adjusting perhaps for the use of the ternary operator.
In fact, I'll cut out the middleman and provide a version of the relevant snippet using the ternary operator:
my $start = ( $opt_s ) ? $ARGV[0] : $ARGV[0] + 1; my $end = $ARGV[1]; print( ($end - $start + 1) * ($start + $end) / 2 );
edit: code typo pointed out by kyle at roughly the same instant I noticed it myself
|
- apotheon
CopyWrite Chad Perrin |
In reply to Re^2: a simple exercise in readability
by apotheon
in thread a simple exercise in readability
by apotheon
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |