I reckon this is in relation to a growth problem.
Bugs start because code that was designed to do one thing is used for a variety of other things. Causing a component/function/method that was orginal designed to do something little ends up being a core function.
E.g
I wrote a function to check if a directory was a sub directory of another directory. (For a very small app that I was using on my desktop only) so there was very little error checking on the directory names.
Now a little later on another nameless drone (developer) need to check if a directory was a sub directory so they copied the function from my code and started using it on a production system.
Before you know it that code is being hacked by evil doers...
Not really my fault is it ?
I reckon this is in relation to a growth problem. Bugs start because code that was designed to do one thing is used for a variety of other things. Causing a component/function/method that was orginal designed to do something little ends up being a core function. E.g I wrote a function to check if a directory was a sub directory of another directory. (For a very small app that I was using on my desktop only) so there was very little error checking on the directory names. Now a little later on another nameless drone (developer) need to check if a directory was a sub directory so they copied the function from my code and started using it on a production system. Before you know it that code is being hacked by evil doers... Not really my fault is it ?