The Architecture of BerkeleyDB
11 points by typesanitizer
11 points by typesanitizer
Some interesting tidbits that stood out to me:
in Berkeley DB, we created a complete set of Unix-style manual pages for the access methods and underlying components before writing any code. Regardless of the technique used, it's difficult to think clearly about program architecture after code debugging begins, not to mention that large architectural changes often waste previous debugging effort.
as well as
Software architecture degrades in direct proportion to the number of changes made to the software: bug fixes corrode the layering and new features stress design.