Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

On any code-review, I would give thumbs-up to the “state-machine driven” approach, and I always thumbs-down the use of Perl flip-flops.   They are one of the very few “IMHO, really bad ideas” in this language, although there is nothing to be done about them now (except to not use them).   At one time, they might have been seen as desirable because they let you feed a few fewer inches of paper-tape into your teletype machine, but to me they are extremely obtuse.   You cannot readily look at the statement and see what it is going to do, well, “next.”   Nor why.

The other approach, on the other hand, is both perfectly-clear to read, and easily maintainable.   First, the logic decides what to do next, based only upon what it sees and upon the value of variables whose values can easily be printed.   (There are no “side effects.”   It’s all right there in front of you.)   Then, separately, it carries out the appropriate action for that case.   What will the behavior be?   It’s clear.   How do I change it, and how to I demonstrate its new correctness?   Again, clear.   That’s the kind of code you want to be in your repository.


In reply to Re: Multi-stage flip-flop? by sundialsvc4
in thread Multi-stage flip-flop? by RonW

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (6)
As of 2024-03-28 14:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found