裸奔,想说爱你不容易

来源:互联网 发布:cfda数据核查要点 编辑:程序博客网 时间:2024/05/01 12:29

裸奔,想说爱你不容易

 

裸奔,是一个很敏感的字眼。在中国这个传统的国度上,如果有人在大街上裸奔,等待他的恐怕是警察与医生。可我今天所说的裸奔,不是你所想的裸奔。我指的是一个公司在项目或产品开发中的“裸奔”现象。

任何一个公司,都或多或少地会遇到这种情况:一个产品在没有进行完全的可行性分析或需求分析之前就开始上马,一个项目在没有任何文档(或者极少文档)描述的情况下开展,甚至连相关的开发进度也是在想当然的情况下凭空想出来的。象这样的情况,我们称之为项目的“裸奔”。此时,除了程序员脑中的产品或项目轮廓,留下来的就只有一大堆源代码。也就是说除了代码,什么也没有留下,没有系统的架构与设计,没有业务的执行流程。这样的系统,不换人维护、不出问题则罢,一旦程序出问题,就麻烦大了,你接到手的代码恐怕剪不断,理还乱。特别是到了维护后期的代码,恐怕你就更加越看越不懂了。这样的项目维护起来是相当地麻烦的。

 

没有文档的项目是一种灾难。

做过技术的人都知道,最痛苦的莫过于看别人的代码,特别是没有文档没有流程描述和设计思想的代码,我是宁愿自己重新再写一遍也不想去维护别人的“裸码”的。倒不是说写这些代码的人是象几年前你一样的菜鸟,也不说你的代码写得是不是规范,你的模块间的耦合度是不是足够低,你的代码是否采用了面向对象的封装性,而是因为代码本身就不是表达系统结构与设计思想的好的方式。特别是当一个系统在经过几个人的修改后,维护就成了头大的事。每个人都按照自己的方式来修改,按照自己的理解来增加新的功能,解决了旧的问题,同时可能引入更多的新BUG,导致系统不断庞大,稳定性却不断地下降,最后忍无可忍。就象微软的操作系统一样,补丁越多,稳定性越差,最后干脆一死了之,让你恨也不是,爱也不是。

而有了恰当的文档,才能良好地描述系统的结构及各模块的功能,以及系统如此设计的依据与理由,以保证找到合适的地方去增加修改代码,做到修改本模块的同时不影响其它模块的功能,尽量将改动将错误局限于小的模块内,不致于影响到全局。开发文档可以说是我们开发人员面对系统的一份用户使用说明书,有了它开发人员才有依据进行修改与维护。对于团队来说,编写并维护一份系统结构的文档与接口文档还是必要的。

实际的情况下,代码一旦编写完成,之后就进入了维护阶段。代码被阅读被修改的次数远远要多于被编写的次数。所以,我们更加需要重视代码的易读性,易修改性。只要项目还在生命周期内,系统还在使用,那么这种维护与修改也就永远不会结束,而文档的指导作用就依然存在。

 

一起去裸奔。

按照我所说的,是不是我们在什么时候都不能“裸奔”呢?比如说,某天晚上,地震突然降临,你是先慢条斯理从从容容地穿好衣服以优雅的姿态走到安全的地方呢?还是裸奔逃命去呢?

答案当然也是显然的:先裸奔逃命再说吧,“生命诚可贵”啊!就象在一个产品的市场出现之际或者若隐若现之际,这时候最关键的是要能抢先占据空白市场,有谁还会去按照软件工程的方法去事先完成一大堆繁琐的学究式的文档呢?等到你教条式地按常规进度来开发出新的产品时,恐怕市场早就被别人瓜分了,留给你的就是残羹剩饭了。对于人来说,生命是重要的;对于公司来说,市场是第一位的。

一个小小的项目,没有文档也是可以的。如果项目的代码量还比写出来的文档量还少,自然也就没有必要劳神费力写什么文档了。如果业务的处理是符合业界标准的,当然也可以没有文档。如果代码编写得非常好,是自注释的或者是注释得较为详细,文档也就是多余的。但当一个项目上了一定的规模,随着系统越来越庞大,功能越来越多强,系统的复杂度也越来越高,写得再好的代码再详细的注释都难以描述其整个系统,这时候相应地系统文档也就应该得到重视。

所以,当裸奔到了安全地带的时候,我们就应该重拾衣服蔽蔽体吧,别再生产“裸码”了。再说了,即使在最关键的时候,总还得找一点东西挡一挡某些重要部位吧,不能一味地裸奔哦。就比如项目中总得要有系统架构图,明确的接口规范说明书等重要文档一样。即使不是什么特别规范的文档,也应该有草稿式的文档存在吧。恰当的文档总是需要的,如果连这些都没有的话,那真是活脱脱的裸奔了。

 

一点想法。

文档于开发人员的重要性就相当于客户资料之于市场人员,都是他们赖以保持正常开展工作及提高工作效率的必须品。很多公司都有这样的规定:每个市场人员都需要定期向公司提交手头客户的资料,对于即将离职的市场人员,必须向公司提交完整的客户资料;每个技术人员工作告一段落,也需要将手头的工作整理成文档以供后来人维护使用。这样做的理由及好处是显而易见的。人可以走,资源不能带走嘛。

 

文档,可以说是公司文化的一种沉淀。开发文档更是公司技术的一种积累。它不仅是开发人员的指导书,也是后来技术人员的参考、学习的好资料。文档不必太多,也不能没有。太多的文档也是一种灾难,要编写那么多的文档,要维持所有的文档同步保持内容一致也不是件容易的事。

世间并无万应灵药,任何事情都不能走极端,过犹不及,这些就看你如何把握了。

所以说,要想体验裸奔的洒脱与前卫,又想不受到传统道德的无端指责,这就需要一个折衷的方法,找到一个平衡点。而这平衡点却也不是容易找的,就看你是仁是智了。