Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
honestly it's not only hard to read it's using some suboptimal techniques.

about readability:
  • please consider using perltidy to reformat your code, it solves most problems afoken mentioned
  • use blank lines between logical steps, see commenting in chunks in Perl Best Practices
  • take care about naming conventions and clarity
    hasref seems to mean hash_ref but reads like a boolean has_a_reference
  • avoid deeply nested code!
    e.g. using a dispatcher like $cmd{$line}->() with %cmd=('**'=>\&dump_readme,'*'=>...)
  • prefer self commenting code, like moving code chunks into well named subs

about commenting
  • be sure which audience you are targeting whith your comments
  • you seem to mix POD stuff (i.e. for the user) and dev-comments and (sorry) banalities,
  • line quantity doesn't equal quality
about techniques:
  • your begin block is huge and I'm puzzled why (?)
  • your repeatedly looping with $_ over most of your lines, that's very vulnerable to bugs
  • &sub() in Perl5 is usable in the rare cases where you need to ignore prototypes
All these mentioned problems keep me away to read more and to try it out.

In general I'm sure you would love to have a look into Damian's PBP book.

This book helped me a lot understanding the traps in Perl and I hope it'll help you too! :)

Cheers Rolf

(addicted to the Perl Programming Language and ☆☆☆☆ :)

Updates

) if you need to check UserAgent within BEGIN, I'd consider using a second BEGIN block

2) I.e. the top-down structure is hidden


In reply to Re^3: CPAN Namespace Navigator: tree dump feature added. by LanX
in thread CPAN Namespace Navigator by Discipulus

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 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
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (2)
As of 2021-06-22 05:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What does the "s" stand for in "perls"? (Whence perls)












    Results (100 votes). Check out past polls.

    Notices?