This means that you should always test the assumptions you're making when
programming. This can range from using certain not-so-well-documented
features of system-calls, to pre- and post-conditions in your own code. It's
more easy to find a bug in a small program to test the exact behaviour of
sprintf
, than to have to find out that sprintf
is not behaving
as you expected. It's also helpful to make a good design of your program so
you can see what obscure features of the system (or maybe of someone else's
code) you will be needing. More about design is explained in the next
section.