You asked about a measure, the question initiated because you felt that a given API was overly complex. Both stvn and I replied back indicating both that This isn't a slam on you. Both stvn and I gave you examples from our own CPAN module where people asked us to reduce complexity in an API when they didn't understand the full measure of the requirements. A lot of that is our fault - OSS developers tend to hack first and document at some undefined "later". This leads to users (quite understandably) assuming that their usage of the module is the primary one because there is no indication otherwise. stvn has dealt with this almost weekly with Moose and Class::MOP. mst deals with this constantly with Catalyst and DBIx::Class, often from me.

This reminds of the three-body problem. Analyzability starts to break down very quickly.


My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

In reply to Re^5: API complexity measures by dragonchild
in thread API complexity measures by zby

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.