num_pages: 448
description: Strategies for building large systems that can be easily adapted for new situations with only minor programming modifications.Time pressures encourage programmers to write code that works well for a narrow purpose with no room to grow. But the best systems are evolvable; they can be adapted for new situations by adding code rather than changing the existing code. The authors describe techniques they have found effective--over their combined 100-plus years of programming experience--that will help programmers avoid programming themselves into corners.The authors explore ways to enhance flexibility 
language: English
title: Software Design for Flexibility: How to Avoid Programming Yourself into a Corner
publisher: The MIT Press