你有重构的勇气么?
发布时间:2010-05-03 15:05:00
项目发展到一定程度,因为功能的增多,就会变得越来越臃肿,原来的架构,就会不能满足现有的需求,因为我们有很多最初规划的时候没有想到的事情,比如说在网站或者软件规模小的时候,我们并没有考虑到国际化,但随着发展,我们走出亚洲奔向世界了,这个时候我们需要全世界的人来用我们的产品,这个时候就需要重构了。
有人会问,既然这样,为什么我们不在软件最初架构搭建的时候把这些东西都想进去呢?因为我们在产品的前期开发中,不会有这么多的人力财力投入进去。而且产品是慢慢进化的,不是一天想出来的,功能也会随着增多。还有一个个重要的原因,是技术不在停的进步,比如说原来没有OOP的概念,原来没有Web API的概念,原来没有AJAX的概念,所以我们可能会用一些老旧的技术。
公司的发展也是一种重要的原因,在企业发展初期,公司往往是怎么快怎么来,前期主要是活下来,先生存再生活,一大早就想开个哈里法塔是不现实的,罗马不是一天建成的。我记得曾经有个这样的老板,一个小小的创业型公司,就想着要把系统打造成日访问量500万独立IP的系统(他当时说的是并发500万,呵呵,因为他不懂技术,我认为他想的是日访问量500万),这明显是不现实的,因为一方面,你的团队没有这个能力来盖这么高的房子,迫其而为之,而你又不懂技术,最终得到的只是欺骗。另一方面,我们退一步说,就算你真的有这样的团队,也没必要把资金浪费在这种不靠边的事上。除非你真的经过沙盘推演,有足够的信心和钱烧,让访问量很快达到这个水平,不过我觉得一个创业型公司达到500万独立IP不是一个很容易的事情。
很多公司基本上是这样,在初创的时候,也没有统一的规划,找人是怎么便宜怎么来,结果可能是找一帮实习生来干的活,造成一个项目什么语言都有,完全没有OO的概念,比如我曾经在搜房呆过几天,他们的代码就是如此,Asp.Net的代码完全写在aspx的页面里,一行代码望不到头,没有文档。软通很多的项目也是如此。所以很多时候,你别看公司很大,其实他们的IT项目也不规范,因为真正规范起来的成本还是很高的,前期成本非常高。
扯了这么多,我们该说说重构了,当项目一而再再而三地修改的时候,大家都会很烦,新手可能习惯Ctrl+V和Ctrl+C,我是最痛恨这种行为的,我本身比较懒,只要是在两个地方或者可能会在两个地方出现的代码,我就会提炼出来。面对着一团乱麻的代码,或者技术已经相当落后了的时候,我们就需要重构,重构是需要勇气的,我们需要去说服决策者,这很不容易,因为很多时候决策者不懂技术,你忽然说要重构就意味着大笔的投入,而对于决策者来说,投入就意味着要产出,这个时候技术负责人会面临着很大的压力,很多技术负责人会卡在这里,停滞不前,或者是采用折中的办法。
我们技术负责人应该就决策者关心的事情和他谈,就是投入与产出的问题,这个是决策者都最想知道的问题,如果你能清楚地告诉决策者,投入一千万可以赚下(或者省下)五千万,那么我想他会考虑这个事情,但技术负责人往往不擅长于谈判,或者是说责任心不足。
或者我们可以这样,把过去一年中,在IT中的投入列出,告诉决策都有哪些是通过重构生避免的,同时把过去一年中的机会列出,告诉他如果我们重构生哪些机会可以把握住。
然而,是所有的项目都需要重构么?项目重构都会成功么?未必!但是——我们需要有勇气打破僵局,不破则不立,当原有的系统已经不能满足现在的需要时,我们就打破它,建立一个新的规则。
来源:涂雅 原文网址
猜你喜欢
- 近日,搜狗率先将输入法发挥到极致,在全球范围首个推出云输入法。搜狗云输入法是基于搜狗拼音输入法,依托云计算技术的一个“概
- ixwebhosting主机推出中文站后,有说要推出中文客服,但,推出中文客服还需要一段时间,在没有推出中文客服之前,我们如果有问题的话,需
- Ubuntu 9.10已经正式完成了,不过开发者们正在尝试在新的beta版本中加入Apache CouchDB。Apache CouchDB
- 喜欢站群的朋友可以看看了,附送一个查询关键字价格的东东,只要输入首字母就可以了:(huehacker.info/keyword.php)1-
- 北京时间9月30日消息,据科技博客iLounge日前报道,消息人士透露苹果计划在2010年1月19日或者之前宣布其平板电脑,该消息人士还透露
- 11月26日消息,据国外媒体报道,微软公司和eBay今天宣布,双方将进行合作,通过新的Internet Explorer 8 (IE 8)
- 你的服务器上是否存有一些不能随意公开的重要数据呢?当然有吧?而最近,偏偏服务器遭受的风险又特别大,越来越多的病毒、心怀不轨的黑客,以及那些商
- 故事的主人公就是利用自己在电脑方面的特长白手创业成功的。站长也值得一看。走进上海东北角的一家数码广场,数百家IT小店让人不知该选择哪一家好。
- 本人前几天接到一个包月广告。五周付一次,谈好价格后我挂上他的广告。他说第二天中午2点财务上班把钱给我汇过来。心想着也没事如果他不打钱过来再撤
- 综合化数字媒体与家庭娱乐软件方案Nero今天发布了新版本“Nero 9 Reloaded”,全面兼容
- 感恩节是这两天的热点,《商业大亨》也为广大老板们准备了丰富的五大感恩节活动,让老板们玩的舒心。同时,为了让自由城内有更祥和的气氛,《商业大亨
- 做网站联盟做久了,在管理联盟中,看到有些站长做广告,是拼命申请广告联盟,总是以为东边不亮西边亮,这个没钱赚那个有钱赚,其实这是很错误的,敬请
- 11点半,CEO起床了,本来他还想睡下去,一直睡到自然醒,但一个电话把他吵醒了。电话是电信局的一个小姐打过来的,她在那边问,请问你是“千维建
- 打开:js/float.js查找:popup.style.zIndex = 3000;将此行下面的三行内容替换为:pop
- 这些方法中,有些是众所周知的,你也可能了解的。但有些方法不为人熟知,还有些是大家知道但很少用上的。本文将让你了解更多或记起一些这种能更快更准
- 接着学习Godaddy主机有关的问题,今天要介绍的是怎样使用Microsoft Publisher 2003上载站点内容
- 作为读者来说,退订(包括Twitter上Unfollow)不想看的内容是好事,道理很简单,不再赘述。那么,博主、推友会因被读者退订、Unfo
- 1、对于论坛的优化来说是比较难的,主动性太差,一般在不计用户体验的情况下点击率达到3%已经很不容易了。2、对于论坛来说,我们的目标就是尽可能
- 今天把以前的windows server 2003给覆盖了,在C盘地下安装了windows server 2008。安装好windows s
- “外事不决问Google”,这已被很多人认同,而最近发生的新闻,估计会让很多用户颇为担忧。据《经济参