My opinion (which is all it could ever be when you are talking about personal policy or style choices like this) is that the second option would be preferable because it adheres to the Principle of Least Astonishment. In this case, the constructor method is called "new" which is pretty much what anyone approaching some unfamiliar code would expect.

Yes, it is a little more typing. So are comments and you include those in your code, I'm sure. The comments are just extra typing to help make the whole code more maintainable just like this slightly more verbose constructor.

It's your code, so by all means choose your own path. I would, however, recommend that if you decide to employ the first approach instead that the pod makes it abundantly clear that such methods are constructors in order to avoid any misconceptions.

So, are you writing a FF-style game or something else?


In reply to Re: Convenient Constructors - a Moo question by hippo
in thread Convenient Constructors - a Moo question by blindluke

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.