Search code examples
programming-languagesmodularity

How to implement code in a manner that lessens the possibility of complete re-works


I had a piece of work thrown out due to a single minor spec change that turned out not to have been spec'ed correctly. If it had been done right at the start of the project then most of that work would have never have been needed in the first place.

What are some good tips/design principles that keep these things from happening?

Or to lessen the amount of re-working to code that is needed in order to implement feature requests or design changes mid implementation?


Solution

  • Modularize. Make small blocks of code that do their job well. However, thats only the beginning. Its usually a large combination of factors that contribute to code so bad it needs a complete rework. Everything from highly unstable requirements, poor design, lack of code ownership, the list goes on and on.

    Adding on to what others have brought up: COMMUNICATION.
    Communication between you and the customer, you and management, you and the other developers, you and your QA department, communication between everyone is key. Make sure management understands reasonable timeframes and make sure both you and the customer understand exactly what it is that your building.