Use the second definition.
A few examples I have seen.
- Documenting every line of
production code with a mechanical description of what the
command does. See Code Complete or The Pragmatic Programmer
for an explanation of why this leads to bugs.
- Having every program in a system create and destroy block files. The programs in question never did run synchronously, but the block files meant that if anything unexpectedly crashed, there was a good chance that the system would refuse to run again. (Most of the programs should have been function calls, but I digress.)
- How about writing long programs in straightline code rather than breaking out functions. For programs of several hundred lines it is faster end to end to produce it breaking out some functions.
- How about using goto in preference to function calls, looping constructs, etc? People used to do that at one time. (Not that goto is uniformly bad. I use it from time to time...)