In Summary Following are the Top reason that sometimes Software Codes should not be CRUNCHED:
1. Performance: A small Code Does not ensures that it will give you optimal results in terms of MEMORY complexity and Time Complexity.
For example, in an Image Processing Application, Loading Whole Image into buffer will Degrade performance when even small portion of it can do the job.
Another example is Writing recursive code can REDUCE the amount of lines but may affect system stack memory.
2. Maintainability: Some programmers have bad practices such as Writing very "Tricky" codes and think this reflects there intelligence. But this is bad. Consider a scenario: What would happen if such programmer who wrote 1000 line of software application and one day leaves the company. The programmer newly engaged would FURIOUSLY abuse/curse the previous programmer for poor commenting and "Tricky" shortcuts used in writing functions.
Some bad practices include Long Nesting Of Codes, No Commenting.
It may even be the case during development that as developer proceeds, he may forget the Logic behind the functions!!
3. Programming Hazards: Sometimes when shortcuts are used in programming, they mat cause serious failures such as stack overflow, deadlocks. This is mainly case in Network programming & Mulch-threaded Programming.