69书吧

手机浏览器扫描二维码访问

第42章 修复bug(第2页)

所以,人与人还是有极大差别的。

不能因为“Linus也写bug”

甚至“Linus也写过低级bug”

,就认为“我写个一百个整数里找最大值的简单程序出三十个bug也是正常的”

——初学者搞出这事,正常。

至于专业人员嘛……出一个都不正常。

不仅如此。

既然“写长篇出bug正常,发条短信就那么十几个字,错一个都不应该”

;那么我们把长篇拆开成若干章,一章只写三千字呢?再把一章拆开成若干段,一段只写数百个字呢?

这就是为何写程序要先做模块设计、然后再把模块按职责拆分成类、类按功能拆分成函数、最后还要求一个函数不要超过一屏(大约80行)的原因了。

经过拆分之后,一个一个函数填写实现、然后再一个一个函数做单元测试,测完再组合起来搞功能测试、集成测试……

这样写程序,当然还是无法杜绝bug出现;但出bug的机率就微乎其微了。

而且程序和长篇小说不同。

小说里的角色,尤其是主角和主要配角往往是贯穿始终的,这就使得小说章与章之间存在很多内部联系;稍微搞不好就会导致前后失去呼应,比如主角一会儿伤在左手一会儿伤在右臂、或者前面挖个坑然后设个伏笔后面却忘了用,等等。

但是在程序里面,不同模块甚至不同函数之间,应该是毫无瓜葛的,每一个都可以摘出来独立成库——有瓜葛就说明用了全局变量或者静态对象,或者通过参数或者约定等传递了过多的东西——这就叫“低耦合”

做到了“低耦合”

,你就可以把一个复杂的大程序当一组简单的短文甚至短信写。

这样自然就很难出错了。

当然了,有些情况下,程序逻辑非常复杂且无法拆分,也就是所谓“无法约分的复杂性”

,这种代码就必须端起十二分小心来,当然即便如此,bug出现率仍然要远高于其他代码。

一般来说,要把程序拆成“不可约分”

的一组最小单元来写。

这个“不可约分”

就是术语说的“高内聚”

:这段程序只做一件事,这件事已经没法拆的更简单了,只能把它们放在同一段代码里一举解决掉。

因此,写程序时,事先的“谋划”

非常重要。

一个有经验的资深工程师,可以在动手前就把一个复杂的大项目拆成一堆几乎互不关联的小程序,然后逐一实现它们、实现完再把它们组合起来就行了。

显然,“谋划”

好了,一个程序的难度降低若干个数量级都是可能的。

说实话,在绝大部分能见到的软件中,都是或多或少的有bug的……

只不过,第一开发可能没想到,第二测试没测到,第三用户没碰到,第四客服的反馈没收到,那么——这就是一个“成熟稳健”

的产品。

PS:留个言,你们是不是不喜欢看代码相关的或者看不懂这些……说出来我以后少写点,毕竟前期还是需要程序员的技术去赚钱的。

当然你们的意见我也考虑一下。

本周收藏榜
热门小说推荐
毒步天下·小邪后太诱人

毒步天下·小邪后太诱人

她是一名亡命之徒,更是一名惟利是图的雇佣兵。一朝穿越,魂穿异世。她是苍域国的右相千金...

腹黑市长霸王妻

腹黑市长霸王妻

他是政界最年轻耀眼新星,她是警界神枪霸王花,她为逃离家人的相亲决定一夜情,他看到她招‘牛郎’的全过程,却阴差阳错滚了一夜的‘床单’,相亲宴上,为摆脱家人继续安排相亲,他威胁她和他假结婚,却在新婚之夜霸王硬上勾剧场一他一脸厚颜无耻的邪笑道干都干过了,你说怎么办?要不,让你再干一遍?她一脸纯情无害的笑道古大少爷,昨晚你真的好威猛呢,奴家好怀念呢!剧场二某萌宝一脸危险的盯着某男,你再欺负我妈咪试试!某人嘴角一抽,不要脸的道我就欺负她了,怎么着?第二天,A市镇山之宝‘血如意’离奇被盗,而且盗贼还嚣张的写上‘盗圣到此一游’,某女嘴抽,丫的,反了你了,要不把你丫的抓起来,老娘这辈子都不拿枪。当真相大白时,某女泪奔了,养了五年看似纯良无害的萌宠小白兔居然是享誉全球的国际大盗‘盗圣’,而更大的秘密还没有真正揭开…。...

无限黄金时代

无限黄金时代

综穿作,用以纪念作者逝去的青春。不过,笔者看过的作品有限。所以准备写的作品,与作者同代的8090的书友大概比较熟悉,00后可能不熟了。上世纪90年代到本世纪初,射雕英雄传神雕侠侣小李飞刀之流的武侠剧集中爆发。同时因为中日关系不错,电视台播了不少日本动画。诸如圣斗士星矢名侦探柯南天鹰战士(正体不写,你懂的)等等都是笔者的青春回忆。而近几年的新作,作者是没看的,所...

都市奇人录

都市奇人录

物欲纷扰的时代,请跟我一起去追随已逝时光之残魂。香茗一杯,闲暇之余,读上两篇,以图心情清净。中医济世,术数休闲,丹道解密,传统文化尽在其中。...

我的老婆是狐狸

我的老婆是狐狸

陈峰得到了一个交易系统,仙灵店铺。各种武功心法,修真秘籍,斗气魔法,科幻装备,仙灵店铺里应有尽有。但要怎么赚取仙灵币呢?陈峰苦恼不已。咦?没有仙灵币也能抽奖?于是,陈峰抽到了一只狐狸精(狐狸书友群147658421)...

嚣张狂仙

嚣张狂仙

二十载苦修,终得飞升仙界。却现,浩渺仙界,神高高在上统治一切,百万仙人皆沦为奴!仙之尊严不可侵,少年傲骨不可夺!蜕变仙脉,从头再来。即便受尽万仙嘲笑,我欲跨血向前。独桀骜,耻不前,猪猡笑,刍狗喧!尔等甘为仙奴,我自不屑。神又如何,终有一日屠你如杀狗!...

每日热搜小说推荐