I was meditating on Red Flags the other day.

M J D's Red flags and program repair material on perl.com has been very useful to me not just in coding, but in thinking about problems.

The most obvious red flags are
"don't do '($var1,$var2,$var3) = split', do '@vars = split"
and
"don't do "$user_name = $x; $user_rank = $y; $user_serial_number = $z', do '$user{'name'}', etc."

But there must be quite a few other ones that are key issues of good programming, plus there must be lots in specialised areas, like I see people getting very agitated about the use of placeholders in database contexts, which I don't care much about myself, but seems, just from skimming posts here, to be an important factor in good DB code.

Regexes also spring to mind as an example. Use of dot-star is always a bit worrisome, and do people know about the memory implications of using $& if you don't have to?

I was thinking of Red Flags as an area itself, or something to go in the Q & A area?

What do we think?
--

“Every bit of code is either naturally related to the problem at hand, or else it's an accidental side effect of the fact that you happened to solve the problem using a digital computer.”
M-J D

In reply to Should We Have A "Red Flags" Area? by Cody Pendant

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



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.