|
Boost : |
Subject: Re: [boost] Tests are a mess
From: Robert Ramey (ramey_at_[hidden])
Date: 2008-09-10 15:10:27
Library A depend on Library B. Some applications depend on
library B.
Library B is a very simple facility with a clearly defined purpose.
That purpose is to permit programs and other libraries to write
code which will work accross a variety of platforms.
Now Library B is changed to add a bunch of new features
and/or facilities. Library B now has a whole new purpose -
to provide new features and facilities.
How does this in any way benefit the users of the original
version of library B?
The are still using the library for the original purpose. This
may or may not conflict with the new version of library B.
Its claimed that the new version offers the original purpose.
But this isn't obvious from looking at the code and/or documentation.
The fact that the original version was maybe 30 lines and the
new one is now 400 lines (at a minimum) and seems to depend
on some new compile time switches, certainly suggests that
that its not equivalent to the original version. When users
complain that they to have time to re-visit all their old applications
/libraries to verify that the new version is equivalent,
users are library B are encouraged to study the documentation
of the new version lf library B to discover what it does and
how it will benefit them.
It's unbelievable to me that this situation
a) this even occured in the first place
b) that this has persisted to this point.
I don't know anything about the new exceptions library. How
good is is or isn't, what it does, etc are not relevant. If you
want to create a new throw exception with great new features
that's just fine. But don't go foisting on me a whole new layer
of work that I don't have time for - give it a different name.
I haven't touched on breaking tests, portability, etc - as they
are beside the point at this point.
Robert Ramey
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk