登陆注册
9465200000012

第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补丁。

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

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

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

同类推荐
  • 依旧无敌

    依旧无敌

    金手指大神系统带惯了个主角,一朝梦醒系统没了?怎么办?没关系,俺已经无敌了!
  • 不能说话的男人

    不能说话的男人

    第一次遇到他时,他只是一个不能说话的孩子,她施以善意与温柔,把他当作自己的弟弟那般爱护。他却情愫暗生,用明媚如阳的双眸,为她筑一道无声的墙,隔离开世间嘈杂的人心,无需言语,一笑安然。可是有一天,他突然消失了……她以为他离开了她,而他以为,她抛弃了他。
  • 掌心化雨

    掌心化雨

    浮世绘千骨,多少迷路人,哪里才是好归处,忙,等,八月秋高桂花香,亦不知,白首方悔应是迟!!!
  • 我的十九

    我的十九

    惠愿的原创歌词集,如未授权,勿商用。炽热的光,真实的温度。炽热的年华,独一的梦想。执着着自己的执着,坚持着自己的坚持。每一个行路人,都或多或少拥有着孤独。但是……走在路上,总有近在眼前的光芒伴你左右。抬头仰望,总有远在天边的星光为你璀璨。你要记住,路还很长,耐心走完,你并非孤军奋战。不要轻易言败,等待你的,会是属于你的归途如虹!愿你初心不负,望你温暖如初。
  • 追魂之永生录

    追魂之永生录

    这是我姥爷留下来的书,书里记载了他曾遇到的种种令人惊悚至颤栗的事。
热门推荐
  • 女王下嫁

    女王下嫁

    她是流落异乡的九朝皇嗣,他是一介普通书生,身份截然不同的两人相识到相爱。某男子注视跑车超过三秒,虞九:“买了”;开着新车看着路边美女,虞九:“先生有我还不够?”众目睽睽,强吻他【本文男主傅佐女主虞九,绝对女强文】
  • 一个勺子

    一个勺子

    加法易,减法难,舍得用橡皮擦擦去背景色调更是难上加难,杨奋的这块橡皮擦让人羡慕,他知道自己做的主体是什么,知道自己在写什么。——大冰如果我有一匹马,如果我将走过天山南北,我想带上这本书。——佟丽娅是书,是故事,更是情怀。离开新疆这么多年,割舍不了的新疆情怀,读完这本书,更浓。——尼格买提十年沉淀。二十四篇作品,二十四个发生在新疆的温情故事。网络阅读过亿。这是新一代的新疆人,“疆三代”们的生活。他们热爱这片土地,他们在这里寻找,在这里得到。他们记录着新疆的昨天,期望和建设着新疆的未来。
  • 台湾文献丛刊清职贡图选

    台湾文献丛刊清职贡图选

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。汇聚授权电子版权。
  • 谈个恋爱吧不分手的那种

    谈个恋爱吧不分手的那种

    墨菲定律说过,你越讨厌什么你就越会遇见。舒语希生平最讨厌别人牵线搭桥,然而她没想到她最最敬重的老师李正竟然是媒婆。于是每天在医院都能听到李正说:舒医生,要不要考虑一下成为我儿媳妇,有车有房,有钻戒,最重要的是我儿子继承了我的基因,又帅又有型。舒语希只好每天配合李正的演出,谁让李正是她师父。大不了到时候找个朋友演场戏骗过李正就好,但谁知.....。
  • 异界铁血传说

    异界铁血传说

    穿越到剑与魔法的世界,绚丽的魔法,酷炫的战技,异域的美食,神奇的文化,各色各样的种族……当然,这和林登万是没有关系的,谁叫他穿越来就是个骷髅呢?穿越前,林登万:“总之就是非常激动,非常激动。”穿越后,林登万:“总之就是非常后悔,非常后悔。”但既然来都来了,人总要恰饭的嘛,打工又不可能打工的,只好去组织一个小小的佣兵团才能维持现在的生活。林登万:“我们佣兵团里的人各个都是人才,说话又好听,我最喜欢这里了!”
  • Library Work with Children

    Library Work with Children

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。汇聚授权电子版权。
  • 网游之深情不负

    网游之深情不负

    原本只是生气,想拉个大神“结婚”的;怎么突然变成是掉入虎坑了呢!路汐莜很犹豫;可是大神可是不会就这样轻易放过她的。--情节虚构,请勿模仿
  • 豆蔻小娘子

    豆蔻小娘子

    她穿过来之后,被逼着替逃婚的姐姐出嫁,最悲催的不是这个,好不容易救好姐夫,阿姐也回来了,为什么她还不能回家呢?
  • 成都雨夜惊魂

    成都雨夜惊魂

    男主车祸,灵魂出窍,依附另一男主,与两位女主,纠缠不清的关系!
  • 东白山情第一部

    东白山情第一部

    故事以汉族的奋斗入手,中间道出了无数修炼秘招、修仙套路,从而演绎出为人当自强的励志故事。书友交流群796696020