The Architecture of BerkeleyDB

11 points by typesanitizer


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.