NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.
All the Perl that's Practical to Extract and Report
Stories, comments, journals, and other submissions on use Perl; are Copyright 1998-2006, their respective owners.
Code smell heuristic (Score:2)
Thanks for the heuristic! I never realized that before! I think this will help improve my coding.
(If there's a larger source where you picked that up, I'd be benefitted by a pointer.)
J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers
Re: (Score:2)
I figured a concrete example would help. Imagine this awful method from some Catalyst code I was working on:
Re: (Score:1)
Re:Code smell heuristic (Score:2)
In this case, it's done via a customer selecting a URL, so it's up to the customer to decide what they want and we don't have to.
A better example would be with Java:
In regular Perl (no modules), it sometimes gets mistakenly rewritten as this:
While that's a silly example, it means that you cannot set the last name to a value which evaluates as false. Variants of this bug occur all the time because every conditional you embed has a great chance of adding bugs. With Java, conditional argument handling bugs are much less common (but the methods bind at compile time instead of runtime, so it's a trade-off, but that's another rant :).
Reply to This
Parent