注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

莫大艺术家

漂浮在艺术世界的一枚傻逼。。

 
 
 

日志

 
 

关于重构。  

2012-04-28 00:21:12|  分类: 不谈技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
关于重构。 - igaves - 莫大艺术家
 今天和同事叨叨,讲了一下我目前的现状,因为需求误导,我在重构我前两天刚完成的工作。
同事问是不是以前的不能用。我说肯定是能用的。。改改就行,但是代码结构有问题,本身就有部分不合理的逻辑在里面,所以,我才重构一下。
说起来重构,我很有感触。重构是一种自我否定。每次在自我否定的时候,都深受懒惰的自己和时间的压迫,导致自己左右为难,重构一部分功能,首先以前的代码缺陷是有,但是未必无法运行,那么重构来讲,只是满足了自己的代码完美强迫症。在此重构需要时间,那么从时间上和进度上,很可能会导致迭代计划失效。

程序员最大的敌人就是懒惰。

在此不讨论技术细节。

假设现在进度时间剩余一个月,某个功能发现缺陷,经过研究发现改改也能用,耗时三天,但是重构后,肯定不会出问题,耗时两周。很多主管都毅然考虑修改。在此选择上,有几个理由:没有完美的代码,对于代码的优化是无止境的。。所以,修改是可以接受的。在达到商业目的后,可以有优先级的对于项目缺陷进行修改,也不失为一种上策。

不过很多的情况下,需求业务相互耦合,比如某个服务有缺憾,那么依赖此服务接口的其他服务都因为此缺陷导致偏离正常编码方式和部署方式。在此情况下,一个链式的反向传染就会出现。后期可能会追加更多的人力于修复此缺陷导致的损耗,间接成本不可控。

还有一种情况,在重构损耗进度的情况下,整体开发并行调度都会收到影响,那么每一条开发链和此重构依赖,进度都会受到影响,那么为此错过有时间行为的商业目的实现就很悲催。

唉。两条叉路口。很为难。

总之,原因肯定出在需求传递上,那么每个开发都应该保证,在动手编码前,先保证要充分了解开发目的和预期结果,不能想当然地认为已然理解需求。
每一个需求传递人都必须明确每一个细节是否都已经传递完毕,并且在开发中跟进需求。

身为项目管理者,在迭代中,一定要考虑突发情况和对应的处理方案,或者配备灵活应急的人來对应此类状况。

总之。。重构不是解决办法,而是一种症状,一种问题的呈现方式。譬如粉刺,挤掉留疤,抹药可能复发,至于挤掉还是抹药,都不是粉刺的问题,而是你的内分泌已然出现状况。出现需要重构的环节,首先应该反思,问题出在哪?是人?是沟通?那么找到问题并且找到解决方案。

嗯。睡觉。
  评论这张
 
阅读(73)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017