Answer to Question documentation-2

Self-documenting software assumes that you can reverse-engineer the software easily. But reverse-engineering one function requires reverse-engineering each of the functions that it uses, either directly or indirectly. That is often too big a job.