1.3. Heurísticas para una buena programación.
Planificar el diseño de un programa: Mediante refinamientos sucesivos, análisis/diseño, especificaciones formales...
Encapsular: Extraer y agrupar funciones relacionadas. Todas las operaciones sobre un mismo TAD deben estar en el mismo módulo. Módulo como mecanismo de encapsulación.
Ocultamiento de la implementación: Los aspectos de implementación no son visibles fuera del módulo. El que usa el módulo sólo debe saber qué hace, no cómo lo hace.