Re: [reSIProcate] A few upgrades to the API.
- From: Alan Hawrylyshen <alan@xxxxxxxxxx>
- Date: Wed, 28 Jul 2004 13:23:53 -0600
Comments inline.
On Jul 28, 2004, at 12:29, david Butcher wrote:
[snip]
2) an API compatibility call that returns an interger <= (V) that
indicates the cut-off point for behavioural
or semantic compatibiliy.
What does this mean? How does the API designate semantics?
Example, please?
Say you check in a change that alters the way in which the library deals
with a function parameter that COULD cause grief to someone expecting
the
old behaviour. For example, and this is contrived, you invert the
sense of
a boolean parameter. The code still compiles, but the behaviour isn't
what you'd
expect. The compatibility # would be advanced so clients knew they
were 'too old'
to expect reasonable results from the library.
Alan writes:
3) Some typedefs to the SdpContents class [snip]
David Responds:
I'm all for typedefs. Let's not get into the bathrobe and bullhorn
thing
again, though. Also, hiding type is not necessarily an improvement.
Fine
if all the caller can do is iterate. Seems to hinge on what we expect
the caller to do with the datatype. Which mostly amounts to
meta-discussion. I am not a heavy user of SdpContents, so will stop
here.
We are -- and it seems silly to have multiple points defining these
types. It might be sufficient to assert (contractually) that these
items ARE associative access containers (or whatever) from the STL and
follow the interface contract thereof. This is useful and means that
you, as a client, can do things with confidence and not worry about
things breaking if the implementation gets a tweak. Similarly, if this
DID change, you could reset the compatibility-int and you'd at least
have a clue before your code failed miserably.
As for the bullhorn / bathroom thing -- are you confusing me with Adam?
I'm lost, and my bathrobe is usually not the same colour as RMS's.
Alan
a l a n a t j a s o m i d o t c o m