Tutorial

The 7 Principles of Better API Design

Damian Conway, Thoughtstream

Track: Perl
Date: Monday, July 24
Time: 8:30am - 12:00pm
Location: Portland 256

This course presents a minimalist approach to interface design known as "S.A.T." Developed by Damian Conway over the past decade, this design philosophy can produce smaller, better focused, more usable module APIs.

The seven principles are:

  1. Do one thing really well
  2. Design by coding
  3. Evolve by subtraction
  4. Declarative trumps imperative
  5. Preserve the metadata
  6. Leverage the familiar
  7. The best code is no code at all

All these topics covered will be explored and illustrated by examining the interfaces and implementations of commonly used modules from the Perl standard library and the CPAN (many of which were designed by Conway himself).