A program needs a clean internal structure to ease:
testing
porting
maintenance
extension
reorganization
understanding.