登陆注册
50261800000012

第12章 软件臃肿的原因

前几天方室网志写了一篇文章这越来越臃肿的软件,我看完后才懂有这么一个叫做“安迪比尔”的定律,它描述了软件商跟硬件商的关系。

定律内容简单说,就是软件与硬件是互相促进的关系。

硬件的性能越来越强,软件的胃口也越来越大。

实话说,当今智能手机的性能早已经超越了七八十年代的老电脑了,可那时候的计算机能够支撑载人登月的任务,而如今的掌机只能用来玩玩小游戏运行小软件,是什么造成了这种奇怪的局面?

不是硬件真的不强,而是软件体积的确太大,这样解释下来真的很符合人们的直觉!

我在文后评论说这“安迪比尔定律”不对,现在仔细想想其实它是说对了一半,软件的确是越来越臃肿,但相应的功能也越来越多,虽然很多功能可能用不着,但作为一个要符合七八亿人胃口的东西,到如今水平也的确不易,但这功能什么的都是次要的,我了解到一些观点,认为背后的真相应该是:当今很多软件充满了垃圾的代码,这并非有意为之,只是一种无奈的现象。

首先,大家猜猜一个完整独立的博客程序代码可以做多么小?wordpress3.8版本解压后占用空间是17.2M。

而我了解到的王志勇的博客采用的是他自己开发的,以精简高效为主要目标的Arsue Blog,主程序在20K以内,核心程序在5K以内,Blog首页的主程序在1K左右。

注意,两者体积单位是不同的,一个M级,一个是K级,相差一千倍!使用Arsue Blog搭建的博客即便用的是价格低廉的虚拟主机,也能达到运行如飞一样的速度。

以下就是从果壳网上摘来的行业人士的观点

再牛逼的软件,里面也必然有新手/毕业生/实习生贡献的代码,并且是极烂,极不稳定的代码。包括你现在用的微软操作系统,苹果播放器,谷歌浏览器……有人说谷歌对于合入代码控制极为严格,没错,但是仍然有新手合入的烂代码,谷歌曾经吐槽过这样一件事:C语言的创始人曾经被谷歌招聘成为员工,但在入职三个月后仍然没有合入代码的权限,真实原因其实是因为各种流程没有走完,但被外界吐槽的是这样的牛人都不让写代码,同时谷歌还是混入了大量的低质量代码。

Java的创始人SUN公司曾经有一次组织了大量人力物力对所有Java代码使用静态工具检查并消除所有lint告警和错误,这被他们当作一件极其大的成就来宣传。

通常大公司里对于代码的态度是这样的:只要这段代码通过了所有测试并且已经入库,那么,除非有一个能说服所有人,包括项目经理,架构师,测试部,市场部等等的理由,那么就不允许再被修改。

而这个理由通常是没有的。

而且越是大公司越对这条规定执行的严格,微软的一个前高级官员曾经还特地挑出来一段烂代码自曝家丑。

另一方面,越是编程高手越喜欢蔑视编程规则,写出一些炫技的代码,这也造成了一些低质量代码混入

以前微软的源代码曾经泄漏过,里面的注释里,满满的都是程序员面对烂代码的吐槽啊。

有一段时间我还在想恐怕Linux是唯一的神话了,后来我发现在某种意义上是的,Linux会在烂代码之前注释说:这段代码很烂,不要学。

之所以Linux会容忍烂代码混入版本,是因为他们懒得写,然后一些大公司就乘虚而入了。

我知道可能很多人会觉得这没什么,可是对于一个将苹果谷歌Linux奉为心目中的圣地的程序员来说这简直就是精神支柱的幻灭啊!!!

然后,我也了解过一些老鸟对菜鸟的忠告,其中一条是

避开重写一切的诱惑

尽可能多的重用代码是最好的选择,无论代码是多么的丑陋,毕竟它已经被测试过了,也被审查过了

抛弃旧代码——尤其是存在于产品中的代码——也意味着抛弃了经年累月测试并实战过的代码,以及你还未知晓的周边代码和bug补丁。

这会浪费大量的时间、精力和多年积累下来的知识

最后我明白了为何近些年很多大公司的软件更新版本越来越快,其实都是小修小补,鲜见有什么脱胎换骨的彻底变革。

原因恐怕就如上所说,没有什么人敢动那些身经百战的老代码,即便效率它们再怎么低下,逻辑有再多的问题,只要硬件能跟上,在当今时代的高性能机子能跑得顺,那就不会有人考虑给它精简了。

同类推荐
  • 罪赎于我

    罪赎于我

    时光不易,承蒙不弃。愿你我终是那良人,依旧童真
  • 穿越到海贼误吞恶魔果实怎么办

    穿越到海贼误吞恶魔果实怎么办

    我叫星辰,我现在很慌。穿越到海贼世界,莫名其妙吞下一个恶魔果实。而且这个果实很强,但我不会开发怎么办?
  • 您下凡不易

    您下凡不易

    宋匪君,之前是有匪君子的匪,皎如玉树临风前;后来是“匪徒”的匪,而转折点是李婉安。“我是你的不二臣,你想要的我都举双手奉上,我的爱,我的命…乖~”【论一个温润君子如何成为一个流氓。】
  • 所以暗恋变明恋

    所以暗恋变明恋

    暗恋。这个词既纯洁又卑微。阮今安心里就有个暗恋的人,他叫路难。两人住在一个小区,从小学到高中两人都在一个学校,但从来没在过一个班。是从什么时候开始就喜欢路难了呢?阮今安也不知道。可能是儿时稚气,也可能是年少轻狂。不过,之前的阮今安一直没有认定过一件事,喜欢路难,是她唯一敢肯定的。高二下半学期分班考试,是她唯一的机会。幸运的是,她有这个机会。直到阮今安那天向路难表白,才知道自己的暗恋早已变成了明恋。
  • 笙歌未落

    笙歌未落

    学会爱后再去爱就迟了,那么就请珍惜一切你爱的人或爱你的人。
热门推荐
  • 剑的征服之旅

    剑的征服之旅

    这是一个魔法主导的世界,弱肉强食是这里唯一的准则。有一位没有魔法天赋的少年,不甘沉沦于人群,背着他的剑踏上了属于他的征途。而世界也开始了变化……
  • 今日宜恋爱

    今日宜恋爱

    今日宜恋爱,不更抽你丫美男皆浮云,女主教做人
  • 那个夏天的秘密

    那个夏天的秘密

    夏日炎炎,一位活泼可爱的小女孩——梦晴,在偶然间,遇见了另一个女孩,可那个女孩却是龙王高贵的三公主——凌菲,并且她们成为了非常要好的朋友。当梦晴知道自己的朋友和她不一样,她会怎么选择呢?
  • 月寒剑仙

    月寒剑仙

    一个早已荒废的大陆,一个霍乱纷争的时代,一个有妖凡鬼仙的世界,上古之乱,祸及万世;神兵既出,血漂千里。仙道末路,无处可寻仙,天苍地茫,仙路穷断,欲破大道禁锢,唯有金坚的信念!敬请关注《月寒剑仙》
  • 绝世吟潇:傲世舞风云

    绝世吟潇:傲世舞风云

    命格转动,时空错乱,她降临在了一个充满着玄气的世界————二十一世纪的杀手奇才夜风吟莫名穿越,不妙成了一个废柴?心气高傲无比的她决定就此出击,神挡杀神,佛挡杀佛!却不知一张大网悄然的铺张开来,而她,正是这张大网唯一变数。本以为这一世可以一心一意的为强大而努力,可是不巧……【经典剧场】某位霸气女“款款”的走到腹黑男身前,脸上有着标准的30度微笑,突然,脚一踩。“今天我睡上面,你?想得美!”腹黑男顿时反击,却遭到了霸气女的再次攻击。“怎么,不服?”霸气女头一扬,凶神恶煞道。“不服!!!”“不服?不服给我憋着!”接着便把腹黑男一推......
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 幸运垂青勇者

    幸运垂青勇者

    谁不渴望成功?尽管追寻成功的脚步匆匆忙忙,却似乎注定了大多数人与成功无缘。何以如此呢?因为大多数人尚未领悟到成功的真谛。作者认为,要想成功,应养成的第一个习惯便是要有勇气,而不是为完成任务而工作。现实生活中,敢于冲进社会主流的人,第一个成功诱因就是勇气,其次才是智慧、能力等其他因素,当然,生来就有良好背景的纨绔子弟除外,因为他们在娘胎的时候就生活在主流社会。确实,每个人都希望自己能够成功,都希望自己有一个自我表现的舞台,如果真的想成功,那么千万不能忘记一条:在追求成功的道路上,首先需要的就是勇气。
  • 一念苍魂

    一念苍魂

    在这广阔的神宇大陆之上,一位看似平凡的小人物的崛起,又有怎样的离奇身世,不平凡的道路之上,不停的挣扎在命运的交叉点,为红颜下九幽,断生死,斩血海,枯骨成山,不成魔不成神,只为逆轮回,去追寻你那刹那的气息,三生三世去追寻,即使万古成空,没有你的日子,我一人又如何守着漫漫无期的混沌,你究竟在何处.............
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 呆萌小青梅:腹黑竹马诱拐99次

    呆萌小青梅:腹黑竹马诱拐99次

    五岁的乔艺什么也不知道只知道眼前的小哥哥很好看,看着他,傻乎乎的笑了一下对他说:“我..喜欢你,你真好看”从此以后楚熠然身后有一个跟屁虫,一口一个“小哥哥,喜欢你”十五岁乔艺认识到我喜欢你不能随便乱说,从此再也不对楚熠然说了。楚熠然看见乔艺没有对他说“我喜欢你”把她抵在墙角,对她说:“你怎么不对我说我喜欢你了呢?嗯?还是说你喜欢别的人了?”支支吾吾回答:“我喜欢你不能随便乱说的“哦?这样啊,我喜欢你用英语怎么说?”“ilikeyou这么简单你...”话没说完,楚熠然便吻下来,在她耳边说我也喜欢你结婚之后乔艺感受到楚熠然满满的套路,对他说“自古套路得人心,你太可怕了”"你蠢"