What is your favourite way to document your programs?

I only used it for testing a batch job doing financial calculations, no UI involved.