On Fri, May 14, 2004 at 01:15:37PM -0400, Dave Robillard wrote:
On Fri, 2004-05-14 at 13:07, Fons Adriaensen wrote:
no XML,
and yes, parsable line by line, and yes, human readable. *but*
the plan should be to use the supplied library to get and set
values. nobody should be doing it themselves otherwise we end up with
an almighty mess.
??? Not if the data format is specified. I will fiercely resist any
standard that is defined as a library interface.
! Why? This is just plain good software engineering practise. If the
configuration is read/written through library methods, the format of the
file can be improved or changed, and everything remains extensible (who
knows what people could end up doing...)
Leaving everyone to just muck around files manually is not only an
annoying uneccessary hassle, but horrible design and a huge disaster
waiting to happen.
Something changes about the file format and everything needs to be
rewritten manually to still work? Ew.
I suppose the question is _why_ would you "fiercely resist" this good
design practise?
System interfaces are often defined by an API (and even that is
questionable since it imposes a language), but file formats and
network protocols most certainly are *not* defined this way.
AFAIK, wav, ogg, mp3, mid, and hundreds of others are defined at
the file data level, not by an API.
As to changing the file format, it should be defined from the start
to be extensible, which does not mean it should be as general as XML,
It can still be a format that is specific for the application.
And even if it has to change at some point, it can still include
a version number.
--
FA