手机浏览器扫描二维码访问
所以,人与人还是有极大差别的。
不能因为“Linus也写bug”
甚至“Linus也写过低级bug”
,就认为“我写个一百个整数里找最大值的简单程序出三十个bug也是正常的”
——初学者搞出这事,正常。
至于专业人员嘛……出一个都不正常。
不仅如此。
既然“写长篇出bug正常,发条短信就那么十几个字,错一个都不应该”
;那么我们把长篇拆开成若干章,一章只写三千字呢?再把一章拆开成若干段,一段只写数百个字呢?
这就是为何写程序要先做模块设计、然后再把模块按职责拆分成类、类按功能拆分成函数、最后还要求一个函数不要超过一屏(大约80行)的原因了。
经过拆分之后,一个一个函数填写实现、然后再一个一个函数做单元测试,测完再组合起来搞功能测试、集成测试……
这样写程序,当然还是无法杜绝bug出现;但出bug的机率就微乎其微了。
而且程序和长篇小说不同。
小说里的角色,尤其是主角和主要配角往往是贯穿始终的,这就使得小说章与章之间存在很多内部联系;稍微搞不好就会导致前后失去呼应,比如主角一会儿伤在左手一会儿伤在右臂、或者前面挖个坑然后设个伏笔后面却忘了用,等等。
但是在程序里面,不同模块甚至不同函数之间,应该是毫无瓜葛的,每一个都可以摘出来独立成库——有瓜葛就说明用了全局变量或者静态对象,或者通过参数或者约定等传递了过多的东西——这就叫“低耦合”
。
做到了“低耦合”
,你就可以把一个复杂的大程序当一组简单的短文甚至短信写。
这样自然就很难出错了。
当然了,有些情况下,程序逻辑非常复杂且无法拆分,也就是所谓“无法约分的复杂性”
,这种代码就必须端起十二分小心来,当然即便如此,bug出现率仍然要远高于其他代码。
一般来说,要把程序拆成“不可约分”
的一组最小单元来写。
这个“不可约分”
就是术语说的“高内聚”
:这段程序只做一件事,这件事已经没法拆的更简单了,只能把它们放在同一段代码里一举解决掉。
因此,写程序时,事先的“谋划”
非常重要。
一个有经验的资深工程师,可以在动手前就把一个复杂的大项目拆成一堆几乎互不关联的小程序,然后逐一实现它们、实现完再把它们组合起来就行了。
显然,“谋划”
好了,一个程序的难度降低若干个数量级都是可能的。
说实话,在绝大部分能见到的软件中,都是或多或少的有bug的……
只不过,第一开发可能没想到,第二测试没测到,第三用户没碰到,第四客服的反馈没收到,那么——这就是一个“成熟稳健”
的产品。
PS:留个言,你们是不是不喜欢看代码相关的或者看不懂这些……说出来我以后少写点,毕竟前期还是需要程序员的技术去赚钱的。
当然你们的意见我也考虑一下。
报告司令,刚刚小夫人打了跟她演对手戏的影后,现在手疼。送她去整容医院换张柔软点的脸,免得隔着我家小东西的手。季大司令淡漠的翻着军事报告。报告司令,小夫人打了奥斯卡金像奖导演。还有气就套个麻袋,石沉大海,毁尸灭迹。季大司令霸气狂妄的纵容。报告司令,小夫人说她有喜了!给她套婚纱,我还欠她一个婚礼。男人大手一挥,上百辆戴着大红花的坦克开出。劫新娘去咯一朝领回一只流氓兔,本想养肥待宰,哪儿知撩了他,就开溜。再遇,她天天被他反撩,而且还把她宠的令人发指,怎么办要不要原谅他?!前方高能,季大司令宠妻模式开启,请自带马赛克...
21世纪的无良少女,一朝穿越到了家徒四壁的古代小农女身上,上有刁钻的舅娘,下有渣到极点的秀才男儿郎,什么小姑,表姐,全部都想踩上她一脚!沈念嘴角一勾,既然你们找虐那我也不能客气,虐渣女,打渣男,业余之间发展下副业,种种瓜果,农田,利用21世纪的种植技术,富遍天下无敌手!然而谁能告诉我,常伴床头的猎户小子,咋突然变成了,手段凌厉的冷王爷?娘子,来生个娃!...
我本以为我娶了她日子就会幸福,可真过上了日子我才明白,那才是噩梦的开始...
团宠锦鲤甜宠金手指瑞兽小麒麟瑶瑶穿成一个小奶团子。爹爹是凶狠残暴的暴君,娘亲是心狠手辣的贵妃,哥哥们更是各个腹黑阴险看着这样的家庭,小瑶瑶哇的一声哭了出来!作为福运瑞兽,瑶瑶可以看到他们的未来,暴君爹爹将会被乱箭穿心,贵妃娘亲会惨死冷宫,而哥哥们互相残杀之后,还会被敌国皇子手刃!瑶瑶本不想管,可是,他们都很宠她嗳她决定啦,要改造这一家子大反派,嘉和帝宸贵妃...
她不过还是个学生而已,却要嫁给一个从未见过面的男人,为了家族,她嫁也就嫁了。可是,那个所谓的老公,天天和不同的女人同进同出也就算了,却又时不时的来招惹她,对她动手动脚的,这摆明是欺负她嘛! 她惹不起,她躲总行了吧?嚣张的小三还光明正大地找上门来。 不错!这正合她的意,给他们让地方,她回自己的小窝,说有多惬意就有多惬意,他却登堂入室,霸占她的床,有这么可恶的男人吗?说什么没有她,他睡不着,才怪!他的身边从来都不缺女人。 果然,男人的话一点也不可信,一转头,就和别的女人搂搂抱抱。 她要离他远远的!最好此生不相见! 完结作品总裁,别胡来请点击右边作品列表。 推荐新文索欢请点击右边作品列表...
一场军婚,大婚当晚,他说,我是军人,军嫂就要奈得住寂寞。一年后再见,一场当街表演的车...