def programming

#debugging

When debugging, novices insert corrective code; experts remove defective code.

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.

Inside every large program, there is a small program trying to get out.

At the source of every error which is blamed on the computer you will find at least two human errors, including the error of blaming it on the computer.

Another effective technique is to explain your code to someone else. This will often cause you to explain the bug to yourself. Sometimes it takes no more than a few sentences, followed by an embarrassed "Never mind, I see what's wrong. Sorry to bother you." This works remarkably well; you can even use non-programmers as listeners. One university computer center kept a teddy bear near the help desk. Students with mysterious bugs were required to explain them to the bear before they could speak to a human counselor.

Sometimes it pays to stay in bed on Monday, rather than spending the rest of the week debugging Monday's code.

Anything that can possibly go wrong, will go wrong.

Each new user of a new system uncovers a new class of bugs.

Deleted code is debugged code.

The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka!' but 'That's funny...'

If debugging is the process of removing software bugs, then programming must be the process of putting them in.

Built with using

Source code available @ githubpull requests are more than welcome ;-)