However, it's always difficult to remember the things you should not do, when there are so many things to remember that you really must do: some automation is useful….
The nicely-named nag allows you to apply a configurable set of checks to your document, as you run it through LaTeX; you get messages like:
(the package provides a demo file which contains most of the sorts of errors you might make - the example is one of them). While l2tabu and nag alert you to possible programming errors, you should not forget that they are merely commenting on style; don't assume that a nag error is going to damn your code - rather, note the issue and try to train your fingers not to do the same “next time”.
lacheck program analyses your source and comments on
it; its view of what is “bad” is very subjective (the
documentation says), but it can be useful.