This is more often than not the result of eagerness
combined with poor planning
. Many coders start out doing one design
, then as they go along they realize that "it'd be so kewl
if my program
could do this or that", and start adding a lot of code
that doesn't really fit in.
I am not saying that intuitive programming has to be bad, merely that way too often it is misused. Simple tasks get way out of hand, resulting in bloatedness.
Creating flow and structure charts can be very tedious and boring, but setting up a good plan for how to deal with certain tasks and problems beforehand will certainly help, and, like it or not, it is very often a good idea to grab a pencil and some paper and jot down a thing or two about how the program should work and look before starting to code. This will not only help against bloatedness, but also speed up the programming process. Creating a good and flexible base architecture and foundation for the program will also help avoid bloatedness in the future.
This phenomenon will often lead to a sort of spaghetti code.