Ævar Arnfjörð Bjarmason <ava...@gmail.com> writes: > So in terms of implementation I'm a big fan of the perl.git approach of > having these docs as comments before the function implementation in the > *.c file. > > It means you can't avoid seeing it or updating it when source > spelunking, and it leaves header files short, which is useful when you'd > like to get a general API overview without all the docs. Our documented > headers are quite fat, e.g. strbuf.h is 60% of the size of strbuf.c, but > less than 20% when you strip the docs.
Just like you I do not care too much where the authoritative source lives, and I do agree with Peff that separate text file is much more likely to go stale wrt the code, and that it is an acceptable trade off to write docs in comment and live with slightly less freedom than writing in plain text in order to keep the docs and source closer together. I do not think between Peff and me, neither of us were contrasting in-header vs in-code comments. And I tend to agree that it makes it even harder to let doc and code drift apart to have the doc near the implementation (as opposed to in the header). It probably makes the result less useful, unless the project invests in making the result accessible like "man perlapi" does, than having them in the header for people who view headers as guide to users of API, though. > We just don't have some central index of those, and they're not a > default target which means the likes of our own https://git-scm.com > don't build them, so they're harder to find. > > Every perl installation also ships perlapi and a MB or so of obscure > internal docs to everyone, which makes it easier to find via Google et > al, which I find useful. So I guess I'm more on the side fence of > dropping a hypothetical gitapi-oid-array into /usr/share/man than you > are. Regardless of where we place docs (between .c/.h or .txt), making them indexable and investing in make target to actually produce these docs with ToC is different matter. I do not think people who actually spent time on our docs had enough inclination to do so themselves, but that should not prevent you or other like-minded people from leading by example.