日期:2013-07-31  浏览次数:20736 次

前端开发的文档置信大多数情况下都没有后端的服务描述详细,而大多数测试也仅仅在黑盒测试,所以很多情况下对这片文档的描述都廖廖无几。

前端文档缺失的缘由

前端开发的文档置信大多数情况下都没有后端的服务描述详细,而大多数测试也仅仅在黑盒测试,所以很多情况下对这片文档的描述都廖廖无几。

* 前端开发的代码分散——没有规范化,没有很好的设计,大多数人仍以业务为主的开发方式。
* 测试人员对前端仍然处于黑盒测试,有没有文档都不影响到他们的测试进程。
* 一旦业务定型,用传统方式的文档模式,很难复制到前端开发来。——改变了开发方式(从作坊式到规范化)让人难以顺应。

尝试对症下药

对于代码分散的问题需求从源头处理。从规范化开始,试点从头到尾惯穿规范化,强制的商定,使代码质量提高。
这一块需求下大力气,两头加入设计 review、代码review等环节。需求留意的是粒度把控,即什么是必须的,什么是可选的,什么是商定的等有共识。

* 功用描述——开发前的任务,对编码者来说必须收集需求。对于使用者来说,能够知道写这个代码的目的是什么,处理了什么问题,还有什么问题没有处理,或需求改进。
* 设计描述——分享你的思想,这很重要,一个成熟的开发人员看开码的时候很多时候不是看你实现如何如何,而是看你的设计。
* API描述——使用者快速上手。接口是代码的眼睛。命名要严谨,不能说也可这样,也可那样。经验通知我们,接口做得不好,历史缘由就会多。
* demo/snippets——给使用的人copy/paste没什么不好。
* 使用指南——例如库的使用指南等手册。或者说一个简单的上手教程

文档该由谁来写?

从理论上看,文档都应该由编码者来写,其实不然。一个软件的周期,可以分为:开发前,开发时,使用时,测试时,维护时。
那么各时间段上应该有不同的人来参与。缩小些范围来看的话,应该将

* 开发前收集需求由大家参与。实现者收集后存档到文档里。此为开发目的与预期。
* 开发时的API描述,设计描述次要由编码者来实现。
* 开发后/维护时的demo及snippets可以由使用者来完善。

设计文档能否能自动化生成

代码注释(如今普通都用java doc)可以生成接口文档。
以往都必须本人画设计图,配上描述。那么理论上这块也应该可以通过注释加入设计的描述,通过文档生成的工具自动生成设计图。这样应该方便多了。