> * how do you deal with developers writing documentation ?<p>I do like writing documentation that I will use later myself. I dislike having
to dig through the code of every tool I wrote just to check how it behaves, so
I constantly reach for man pages and, in their absence, for HTML.<p>I'm in a happy position that all of my tools are later consumed by either
programmers or sysadmins, so I'm certainly my own audience.<p>> * are there some techniques that help ?<p>A two-part strategy works for me for API docs: (a) use documentation generator
(a JavaDoc descendant, like Doxygen, EDoc, or Sphinx), and (b) add
docucomments to every function before even writing function's body.<p>After the (b) part is in place, once the programmer sees that everything else
around has the documentation, he wouldn't want his part to stand out by
looking raw and plain; or at least that's how it works with me.<p>For documentation about the tool usage, I use anything that fits with the
project's workflow that generates TROFF (man pages). Sometimes it's Perl's
POD, sometimes it's Sphinx.<p>> * which tools do you use ? I am thinking of gitbook for user guide, and Sphynx for API documentation<p>Sphinx, EDoc, or whatever I have at hand in the language of the project.<p>Sphinx can also be used for user guide. I don't know much about gitbook, but
given how similar in their essence are all documentation generators
(JavaDoc-like ones), it shouldn't matter that much if you went with gitbook,
Sphinx, raw LaTeX, or a set of Markdown compiled to HTML. Choosing the tool is
not the difficult part.