咸吃萝卜淡操心

垃圾代码

吃饭了吗?没吃?太好了,看完你会省一顿饭。哈哈。
今天说点恶心的东西,垃圾代码与拉屎的关系。
前几天集中处理了一下项目到现在遗留的一些垃圾代码。所谓垃圾代码,不是说代码写的不好,而是已经不被使用的代码。但是由于种种原因,没有被删掉,依然遗留在项目中。这些代码轻则混淆代码结构,让后继的维护者很难理解代码逻辑。重则影响产品的稳定性和运行效率。这些代码就像残存在各个角落的灰尘,很不起眼,但是依然危害健康,而且不易发觉。尤其在快速迭代的团队中,开发人员为了应付新的需求疲于奔命,很难抽出时间整理这些东西。渐渐的也就养成了只管写不管擦的恶习。积累到最后,就成了顽疾,谁也看不懂,谁也不敢动。
这几天删了很多代码,删起来提心吊胆,因为这些代码都不是我写的。每删一点都要把它的来龙去脉搞清楚,删除之后还要测试,很费劲。
有没有什么办法能避免呢?没事的时候就在想这个问题。又一次做在马桶上突然有了点想法:
产生垃圾代码的过程很像拉粑粑,是很自然的过程,做新功能、重构,必然产生废物。更有甚者,如果工期安排的太紧,新功能像填鸭一样扔给开发者,必然会导致消化不良,废物就会产生的更多,更快,更臭。咋办呢?
其实,生活中有很多智慧是可以借鉴的:
1、要控制垃圾的产生范围,祖先们发明了厕所、马桶,就是用来控制排泄物的范围的。在开发一个新功能前,要意识到那一些代码是不会再被使用的,然后对这样的代码进行隔离,比如用宏开关。等开发完稳定以后,也可以很方便的逐一清理这些代码。
2、我们小时候,大人都会教我们擦屁股。如果把清理代码工作就像擦屁股一样,当成一个程序员的必备技能和必须遵守的规则。那就不至于甩的到处都是,臭气熏天。小时候不懂事,拉完粑粑也有不擦的时候,但是父母在制度上保证了不擦会受到惩罚的。久而久之,也就养成了习惯。当然懂事之后,自然也明白不擦的坏处。但是,不能指望所有人都懂事,在懂事之前,制度是最有效的工具。
坐在马桶上想了这些没觉得怎么样,但写出来才发现,真他娘的恶心!

发表评论