lua-users home
lua-l archive

Re: upcoming changes in Lua 5.2

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


> IMO the 'single exit point' rule is not a good idea.
This is a matter of taste.
Please note that I'm just submitted my 2c for statictics sake. I'm not
trying to convert anyone in my belief :)
Also I have no strong arguments for not adding continue or removing
repeat/until to the language. As long as their existance does not
force me to use them :)
> Pascal enforced that rule and the result is tedious programs with lots of
> nested ifs overflowing the right margin. I personally find it difficult to
> follow a program's logic beyond the third level of nested ifs.
Such amount of nested ifs is a "bad smell" -- that code should
probably be split to separate functions etc.
> IMO the judicious use of control-breaking constructs makes a program more
> readable and easier to understand by presenting the main flow of control at
> a single indentation level while using the lateral exits for handling
> exceptional situations. As with everything else, abuse should be avoided. If
> C is a condition that may reasonably hold or not, then the construct
>
> if C then
> A
> else
> B
> end
> is the natural way to code it, since A and B have the same logical
> hierarchy. But if C should normally hold and B handles an exceptional case,
> then IMO this is better:
>
> if not C then [continue, break, return, throw, etc.] end --> jumps to B
> A
I *personally* find this less readable. But, again, this is a matter
of taste and habit.
Alexander.

AltStyle によって変換されたページ (->オリジナル) /