Tuesday 9 December 2008

Are you over-engineering your code?

Over-engineering is when you make your code more flexible or sophisticated than it needs to be.

It is not uncommon for many architects and programmers to add unnecessary flexibility and complexity to their designs because they believe they know their system's future requirements.

The problem with attempting to predict the needs of tomorrow is that often these predictions do not materialise.

The result is a code base that is larger and more complicated than it needs to be and this contributes to a decline in team productivity.

1 comment:

RobH said...

You ain't gonna need it
http://en.wikipedia.org/wiki/YAGNI

Sums up a reasonable approach to reading the future.