字体
关灯
   存书签 书架管理 返回目录
    第四十二章 修复bug(第 3/3 页)

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

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

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

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

    做到了“低耦合”,你就可以把一个复杂的大程序当一组简单的短文甚至短信写。

    这样自然就很难出错了。

    当然了,有些情况下,程序逻辑非常复杂且无法拆分,也就是所谓“无法约分的复杂性”,这种代码就必须端起十二分小心来,当然即便如此,bug出现率仍然要远高于其他代码。

    一般来说,要把程序拆成“不可约分”的一组最小单元来写。

    这个“不可约分”就是术语说的“高内聚”:这段程序只做一件事,这件事已经没法拆的更简单了,只能把它们放在同一段代码里一举解决掉。

    因此,写程序时,事先的“谋划”非常重要。

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

    显然,“谋划”好了,一个程序的难度降低若干个数量级都是可能的。

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

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

    ps:留个言,你们是不是不喜欢看代码相关的或者看不懂这些……说出来我以后少写点,毕竟前期还是需要程序员的技术去赚钱的。当然你们的意见我也考虑一下。
上一页 目录 下一章
最近更新 刚准备高考,离婚逆袭系统来了 华娱从男模开始 我在直播间窥探天机 重燃青葱时代 港片:你洪兴仔,慈善大王什么鬼 讨逆 盖世神医 舔狗反派只想苟,女主不按套路走! 牧者密续 那年花开1981 1987我的年代 修罗剑神 混沌天帝诀 1979黄金时代 大国军垦 至尊战王 巅峰学霸 女总裁的全能兵王 国潮1980 超级修真弃少
最多阅读 攻略病娇男配的正确方法 刺青 攻玉 上瘾 仵作惊华 顶级诱捕公式 甜妻 文物不好惹 白色口哨 雪意和五点钟 敬山水 小蘑菇 漂亮朋友 理我一下 猫咪的玫瑰 娇瘾 神颜主播又封神了 洞房前还有遗言吗 天之下 杀死那个白月光