一个烟头的故事
刚来公司那会,经过抽烟区时发现摆在旁边的花盆里满是烟头,当时觉得很诧异,怎么这么烟头多?烟头还可以当化肥用吗?但看到大家都很自然的把烟头插在里面,我也跟着做。最后的结果可想而知,没过几天那几盆花就被换掉了,然后出规定不允许往里面扔,发现罚款50,并且在旁边放了烟灰缸。半年过去了,花盆里再也没有出现烟头。
先来假想下第一个扔烟头的人是什么情况?是因为不知道把烟头扔哪里还是因为烟灰缸太远?是故意为之还是自己的散漫造成?不管怎样,他都是第一个把垃圾带进来的人。在软件开发中,我们也常常干着这样事。在代码中随意加上很多的输出、调试注释;为了方便,日志记录随处存放;设定的规范不去遵守非得按照自己的来。。。如果每个人都依着自己的心情来写代码,都按着自己的思路去特立独行,再多的人也组成不了团队,再好的技术也做不了好系统。快把这些陋习摒除掉吧,千万别把团队传染了。
接下来第二个人看到里面有烟头了,大多数情况下他不会捡起来,很多人也会跟着往里面扔烟头,破窗理论说的就是这类事情。当我们在系统上发现前面人不规范的时候,大部分时候我们会继续拷贝他的代码,完成功能了事。为什么我们不去调整它呢?因为调整需要一定的能力以及冒一定的风险,本来还可以运行的系统,被调整之后出现问题肯定就找你了,所以很多时候我们宁愿能用就行。我们也不需要知道该功能是怎么实现的,也不需要知道里面有多乱,只是拷贝一下,轻松简单,有问题也去找别人吧或者历史原因吧。就这样我们不断的产生着各种历史原因、各种坑,挖着坑等着后人跳。
到了第三个人,可能都不会考虑更多了,跟着做就是了。这样子一个接一个,造成了最后的局面。其实,不管第几个人,我们在做一件事情之前都要认真想想,我们该不该这么做,我们究竟要怎么做。
当我们最初设计系统的时候,我们应该花更多的时间把项目理清楚,把基础架构搭好,把层分清楚。尽可能设计的简单可扩展、易维护、易用,减少后面烟头产生的可能性,给后人多栽点树,让后人好乘凉。
当我们在已有的系统行新增功能时,我们不能盲目的添加,先看看是否已有现成的功能,是否有一些不知道的因素。。。不懂就去问问他人的想法,想清楚了在去写代码,不要把自己认为好的强加上去,还要看适不适合,不要让自己的代码成为了系统烟头的开始。
当我们在系统中发现他人丢的烟头时,我们看能不能处理,不能处理看能否制止烟头的继续产生,想办法避免更多的烟头。如果发现这个烟头是自己丢的,那赶紧处理了吧,也别给自己找借口了,没用的,以后就没有以后了。
我们常常说别人的代码有多乱,可很多时候是咱们自己造成了乱的开始,我们没有静心去思考其中的优劣,也没有耐心去把系统完善,权且当作任务而已。
一个发生在身边的小故事,可以悟出很多和软件开发相关的东西,虽都是一些细枝末节的事,但细节决定着成败。
2024-08-17 14:44
2013-11-22 15:52