Subject: Re: 1. uiopeek? 2. hashinit/hashdone?
To: None <tech-kern@NetBSD.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
Date: 06/04/2006 21:09:04
> It all comes down to what is in the interface contract. Anything you
> document becomes part of that contract to the outside world, and thus
> difficult to change.
That depends. *Good* interface contract documentation includes things
like "what happens if hashdone is called on a non-empty hash table is
undefined", specifically giving the implementation latitude to change.
While it doesn't actually *prevent* people from testing (or looking) to
see what the implementation does and then depending on it, it *does*
make it clear whose fault it is when an implementation change breaks
the resulting code.
/~\ The ASCII der Mouse
\ / Ribbon Campaign
X Against HTML firstname.lastname@example.org
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B