之前写过一点小东西,为了让它更成型一点,我决定给它写个文档。可是这难倒我了,以前压根就没写过正规的文档。目前写东西都是人肉写文档的,直接HTML页面或者Github WIKI。写久了之后就发现这样实在是太不便于管理了,如果某个功能有更新,想修改文档还得找一下,还指不定都找全了(当然可能是我写文档的思路有问题)。
所以在这请教一下大家,如何给程序写文档,因为写的是PHP的程序,希望大家能偏向这边答一点,虽然说写文档这东西跟语言真的无关就是了。以及希望大家从以下几个方面回答问题:
- 怎么写好文档
- 用什么写文档
- 如何方便的 管理/更新 文档
- 写文档需要注意什么
考虑PHP,文档工具推荐phpDocumentor吧。
管理和更新文档,如果是函数/类的接口说明部分,依赖文档工具可以自动更新即可。这也就提供了在功能变化时,能够简单更新文档的一个思路:如果软件的功能都是通过很简洁、单一的函数调用来实现的,那么更新函数接口的文档==更新软件的功能文档,简单省事。
文档形式无非以下几种:
相信我,虽然有很多写文档指导,但铁一般的核心原则只有这一点:
如果文档有任何语焉不详,用户必须翻源码才能找到一些没有提到的细节,那这个文档一定是失败的。所以一定要注意,文档必须:
写文档,重要的在于参考别人写文档的经验。别人这么写,那么我去模仿一般不会错。我的推荐是Django的官方文档——这个例子很好的符合了上边说的函数接口完整覆盖,外围教程简要描述的原则。