今天在IBM的技术网站上看到这样一句话,觉得很有体会,说地很好:
不管选择开源还是闭源的形式,开发系统成败的关键就是文档。文档是很多开发工作都不希望要的内容;开发人员通常都会专注于代码的编写,而不是对现有代码的解释。因此这个问题就被进一步放大了;缺少文档的代码往往会被按照更难以编写文档或难以理解的方式进行修改。
=====================
想想来看,文档在软件开发过程中的确是很重要的,正好和最近研究的东西有些关联,深入看下去:
Second Life 团队为文档维护了一个公共的 wiki。这个项目尽管尚不完整(所有的文档都不是完整的),但是正在积极进行维护和更新。wiki 为所使用的脚本语言和 C++ 源代码的架构编制了文档。为脚本语言(LSL)很好地编制了文档,不过有些部分尚不完整。举例来说, Communications 分类列出了 3 个子类:Chat、HTTP 和 XML-RPC。只有 Chat 类已经完成了。通常,如果 wiki 页面上的链接是红色的,就说明相应的资料还没有编写。这种链接被用作占位符,说明此处的内容将要被编写为文档。
对于任何产品来说,文档不完整都不罕见。我曾经见过很多商业手册中有一两页这样的内容:“Gzornenplatz setting (Enabled/Disabled): Enable or disable gzornenplatz”。其中根本没有任何提示说明 gzornenplatz 是什么,或者启用它会造成什么影响。使 Second Life 文档非常有趣并且使其非常适合查看器开源版本的一个原因是这个 wiki 是可以由用户进行编辑的,并且鼓励用户对此做出贡献。尽管在开源项目中这并不稀奇,但是在商业项目中却非常罕见。更不寻常的是它使用 wiki 作为主要文档;它们通常用来作为补充资料。这样做有一些优点,也有一些缺点;已经提供了更加完整的文档固然更好,但是能够编辑文档就意味着可以很快解决问题。如果现在还不是一件好事,那么几个月之内就变成好事了。
=====================
这几天和学生在一起调了一下php的Viki,忽然发现,原来Web2.0真地已经在眼前了,有太多的新东西,需要我们去学习,去研究。今天坐班车上,教务处的一个老师还和我谈博客的使用,准备在学校教师中建立一个博客系统,让更多的大学教师接受这种新的形式。Web2.0中有很多新的理念,容易理解,但编程实现又是那么的具有挑战。但我喜欢这种新奇的挑战,却又担心自已的落后,看来草根的精神,离我们很近了。