Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


On 11/02/2011 05:21 PM, Michael Meeks wrote:
        The benefits of the stable ABI requirement are somewhat unclear to me.

Mostly for the benefit of (external) client code. Also, as a secondary effect, striving for a stable API probably tends to make the authors of the API work harder to produce good quality (documentation, minimalism, orthogonality, ...; at least, that's my personal experience).

If (as seems ~certain) we are going to have a flag day at some stage,
there is no harm moving this little lot into the sal/ library. To what

Sorry, don't get what you mean with "flag day" here.

        So - I think this splitting code into lots of different places for ABI
reasons can be re-considered.

An API should strive for various, potentially competing qualities. Stability is one, discoverability is another. Finding a good balance here can be a delicate exercise, and there is no single "right" answer. The concept of additional, external convenience APIs is quite widespread. So is the wisdom of "if in doubt, leave it out." Confer, for example, chapter 2 of Reddy's "API design for C++" (MK, 2011).

Those are quite general remarks, meant more as something to keep in the back of your mind while working on LO's stable URE API, than as litmus tests how to handle the comphelper/string.hxx under discussion here (for which the case-by-case approach already discussed by Caolán sounds reasonable).

Stephan

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.