Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
If you subclass a class I don't want people outside the core development team to subclass, I'm not going to support you and I might just switch up the API on you without warning and break your app.

I'd rather you didn't shoot yourself in the head, but I don't think it matters whether you label yourself a "user", a "developer", or a "devil's advocate" if you do.

Now, if I put up a big "SUBCLASSING" heading then switched the API on you, I think you'd have a reasonable beef with me, since that can easily be interpreted as granting permission to subclass. So I'm only going to put up that heading when it's actually OK for anyone and their dog to subclass.

But there are other ocassions where the development team may want to have a few classes which inherit. It's silly to abridge the documentation of the inheritance hierarchy just because you can't figure out a way to convey to users/non-core-developers/devil's-advocates that they shouldn't subclass while still documenting the way the class es work. The answer is, label it "PROTECTED API" or something similar.

On large systems, the interface design is harder, more important, and more expensive than the low-level code...

--
Marvin Humphrey
Rectangular Research ― http://www.rectangular.com

In reply to Re^6: Documenting non-public OO components by creamygoodness
in thread Documenting non-public OO components by creamygoodness

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (3)
As of 2022-10-05 20:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My preferred way to holiday/vacation is:











    Results (25 votes). Check out past polls.

    Notices?