> Another angle is to collect a set of mantras, design principles
> if you will, something like:
> 
>       Avoid copying.
>       Avoid premature optimization.
>       Be extensible.
>       Be orthogonal.  Orthogonal be.
>       Be portable.
>       Be scalable.

Quite right.  This is the standard practice of listing your priorities
for code.  Here are the things to order, in my order:

  Robustness
  Portability
  Maintainability
  Testability
  Reusability
  Speed
  Simplicity
  Size

To put them into order, imagine you're a Perl sort comparison routine
comparing two of the items.  Ask yourself "would I trade $a to get
$b?"  Obviously it sometimes depends, but what would you do most of
the time?

Nat

Reply via email to