Principles for writing reusable libraries

Glenn S. Fowler, David G. Korn, Kiem-Phong Vo · 1995

Over the past 10 years, the Software Engineering Research Department in AT&T has been engaging in a research program to build a collection of highly portable advanced software tools known as Ast, Advanced Software Technology. A recent monograph, “Practical Reusable UNIX Software” (John Wiley & Sons, Inc., 1995), summarizes the philosophy and components of this research program. A major component of this program is a collection of portable, and reusable libraries servicing a wide range of functions, from a porting base to all known UNIX platforms, to efficient buffered I/O, memory allocation, data compression, and expression evaluation. The libraries currently stand at about 150,000 non-commented lines of C code. They are developed and maintained independently by different researchers. Yet they work together seamlessly—largely because of a collection of library design principles and conventions developed to help maintaining interface consistency and reducing needless or overlapped work.

Read the paper · More papers on PaperTik