A PHILOSOPHY OF SOFTWARE DESIGN by John Ousterhout
A PHILOSOPHY OF SOFTWARE DESIGN by John Ousterhout
A PHILOSOPHY OF SOFTWARE DESIGN by John Ousterhout
DESIGN
Authors John Ousterhout
<Interface>
structure of a software that makes it hard
Functionnalities
to understand or modify. It can be defined Functionnalities
as:
(a) Shallow module (b) Deep module
Õ
C= c p · tp
p
al
Tactic
programming invest
time on design.
NAMING
Time
“The greater the distance between a
name’s declaration and its uses, the
longer the name should be.”
At the beginning, a tactical approach to
programming will make progress more
quickly than a strategic approach. Andrew Gerrand
However, complexity accumulates more
rapidly under the tactical approach, wich
reduces productivity.