十月反思 之 改进已有的代码

     十一长假结束了,这段日子的开发也到了一个阶段性的状态,今天正好内网还没有装上,只有在外网晃着,也就安心的来写写对最近的一些反思吧。

     前段日子,我自己老是在考虑将当前的gs重新拉出一个版本,精简掉所有活动性的硬编码,想做一个精简的核心GS。当时的起心就是因为觉得当前的代码实在感觉很多杂乱的东西都参杂进来,看着GS的代码人就感觉郁闷的。我都已经重新拉出一个代码库,并开始做了一部分精简工作,咔嚓代码的感觉真好的。。。那天下午代码写差不多了,开始看看书。之前刚买了一本Robert大叔的代码整洁之道。看着看着,突然觉得之前自己想的都是错的,我重新拉一套代码出来,按自己YY的想法去删减去改动,那这个代码算什么呢?这是我们想要的代码吗?这不就完全是自娱自乐的吗?更重要的是,这样的话,那我把真正的现实中的代码置于何处了呢?难道他不才是最应该我们去修缮,去重构的代码吗?

     我不否认,我们应该尊重自己的兴趣来写代码,写代码应该是快乐的,但对于工程的代码,对于现实中的代码才是我们最应该尊重,最应该珍惜,最应该爱护的。可是实际中,往往它们就是最丑陋,最难以扩展,貌似它们就是一切罪恶的根源。于是乎,我们总想摆脱丑陋,远离罪恶,总想在自己的乌托邦里建立起自己的美好世界。在这个世界里,有先进的技术,高效的算法,牛X的设计模式。。。以及作者和客户合二为一的“伟大的”程序员。

     我们理应认真对待自己手头的每一份代码,或许是前人留下N年前的古老代码,或许是N个同事交替更改过的单元,或者干脆就是其他人的代码现在转手归你负责了。。。你一打开工程,看着那些迷一般的变量名,那些达芬奇密码一般的函数调用,那些被称为一直沿用至今的稳定的而又极度不合理的对象关系。我们真的可以无动于衷,任由这栋代码构成的建筑,门窗破烂,墙壁渗水,地板龟裂吗?无可否认,想要改变这些真的很难,非常难,所以很多时候我们都更愿意去重新写一份自己需要的代码。于是随着日子过去,经过我们的修修补补,我们又为这个软件的代码加上了自己的标记。有谁知道下一个接替我们手中代码的人在打开工程后,是怎样的愤怒呢?

     改进已有的代码是一项艰巨的工作,这是需要极大的耐心和毅力的。对现有代码的改动,总是会带来一些新的问题,但即使如此我们依旧要努力去做,当然也要尽力避免这些新的问题。重构的基本原则就是每次都进行最小的改动,而重构的基础保障就是单元测试(这是我们当前项目最缺少的东西,郁闷啊。。。)每一次都做最小的改动,然后持续做下去。。。坚持向整洁的代码努力,这是可以达到的目标的。

     其实所谓的“改不动了”,只是一种不负责任的推托,我们有必要克制自己对于当前工程代码的厌恶,更要让自己在日常工作中认真对待每一份的代码功能的编程。然后一步步去改变已有代码中存在的各种问题。随着时间推移,代码一定是会腐朽的,而我们程序员是有义务去为我们的代码延寿的。。。

     

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值