正在看一本书,书上讲到一个观点,“可工作的软件胜过面面俱到的文档”,这一点我一直都很认可,在平时工作中也是依据这一观点不写详细设计文档就开始编码,设计过程只做比较粗略的概要设计,但是涉及到数据库设计的话,会做好数据库的详细设计再做编码。
可能是自己的技术能力还不够,无法在编码之前就将所有涉及到的问题都想明白,然后做出非常详细的设计,我会急于写代码,让软件先有一个可运行的原型,如果原型代码写得好,就不改动,直接测试上线运行,但是多数情况都会做一下重构,增加一些注释,规范一下命名,提取可重用的代码,精简代码,提升代码质量,优化运行性能等。以至于整个软件做完上线后,我也没有一个详细的设计文档,不够我自认为我写文档的能力不行,实在写不出高质量的文档。
接手别人的半路项目,在了解功能后,我也会直接看代码,文档什么的看不出来什么结果,看了文档也不知道bug在哪,怎么修改程序。
文档也是重要的,至少需求文档和概要设计以及操作手册这几个文档是必须需要的,能够有详细设计文档当然也是很好的,只是说可工作的软件才是最主要的最重要的。这个观点不针对产品的销售和技术支持,只针对研发以及维护人员。