in reply to Howto keep private methods private?

Documentation is the key.

Explain your private methods in the documentation and make it very clear they are private and only to be used through the provided public interface. If someone chooses to disregard that friendly advice and wipes out his company's datastore -- too bad: he has been warned.

It is not as if you use private methods, leading underscore and all, by mistake.

CountZero

A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

  • Comment on Re: Howto keep private methods private?

Replies are listed 'Best First'.
Re^2: Howto keep private methods private?
by dragonchild (Archbishop) on Sep 15, 2007 at 03:08 UTC
    I despise seeing private methods in public documentation. That belongs in a document like Foo::Internals or somesuch. Something that makes it obvious this is for developers only, not consumers.

    The point of documenting your contract is twofold:

    1. You're telling people what they can do (informational)
    2. You're telling people what you promise (legal)
    If someone does something outside of what you promised and it hurts them, then that's their problem. You aren't responsible for my asinine abuse of your product.

    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?