原创 Java语法 | 程序调试入门 | 七日打卡

发布时间:2021-08-03 04:18:28 浏览 854 来源:猿笔记 作者:查老师

    *一个有经验的程序员不仅仅要熟练各种技术。还应该表现出成熟且稳定的Bug解决能力*,查老师在本篇将会带你熟悉下常见的Bug解决思路及方式,原因是系统安全策略上存在的缺陷。有攻击者能够在未授权的情况下访问的危害,bug这个术语从"臭虫"转换为漏洞,她在调试设备时出现故障。霍珀诙谐地把程序故障统称为”把排除程序故障叫DEBUG。然后再使用万用表及其他专业检测工具对电路逐段进行检测。我们在进行程序调试(debug)时也应该遵循类似的思路进行。调试思路掌握之后。还有一些配套的调试方式可以帮助我们快速定位及修复bug。


    #主题列表:juejin,github,smartblue,cyanosis,channing-cyan,fancy,hydrogen,condensed-night-purple,greenwillow,v-green,vue-pro,healer-readable,mk-cute,jzman,geek-black,awesome-green,qklhk-chocolate

    #投稿主题:

    theme:juejin

    highlight:

    ##前言

    犯错是人之常情。

    * * C: *学过这篇文章的同学,一定都在写作期和跑步期报过红,报错也不是什么稀奇的事。

    出了问题之后,百度导向的编程解决了一些问题,很多都藏在冰山下面,所以在工作中,大家都自嘲自己日常工作就是写bug。

    因此,*一个有经验的程序员不仅要精通各种技术,还要表现出成熟稳定的Bug解决能力*。在本文中,Cha先生将让您熟悉解决bug的常见思路和方法。* *掌握这些技能* *在大多数情况下会让你感觉更轻松。

    ##bug和debug

    Bug是计算机领域的一个专业术语,最初的意思是“bug”。现在用来指计算机的漏洞,是因为系统安全策略的缺陷,以及攻击者未经授权就可以访问的危险。

    bug这个术语从一个bug变成了另一个bug,有一个史诗般的故事:为马克2号二世编程的GraceHopper,是美国准将将军和计算机科学家,也是世界上最早的程序员之一。有一天,她在调试设备的时候,坏了。打开继电器后,她发现触点之间夹着一只飞蛾,这“卡住”了机器的运行。因此,霍珀幽默地把程序故障称为“BUG”,把排除程序故障称为“DEBUG”,这个奇怪的“标题”后来成了计算机领域的专业术语。1]

    另外,以后不要像门外汉一样大喊,‘你一定要担心你的计划’。人们称之为“臭虫”。

    * *查老师有话要说:* *

    业内也有这样一个冷笑话:程序员最讨厌乾隆的哪个儿子?

    八阿哥(bug)

    # #调试思路

    在日常生活中,当家用电路出现问题时,维修电话会给电工打电话。电工会先和我们沟通一下大概情况,看一下问题的大致方向和可能性,然后用万用表等专业的测试工具对电路进行分段测试,最后找到异常的部分,进行相应的维修或者更换元器件。

    调试程序时也应该遵循类似的思路:

    1.明确要求,* *观察故障提示和现象* *,看能否确定问题的大致方向和可能性。

    2.阅读代码

    3.逐个执行程序

    4.观察计划的执行情况

    5.发现问题

    6.解决问题

    # #调试方法

    掌握了调试思路后,有一些匹配的调试方法可以帮助我们快速定位和修复bug。

    # # #小黄鸭调试方法

    小黄鸭调试法(又称橡皮鸭调试法和黄鸭除虫法)是软件工程中使用的调试代码方法之一。

    这个概念是基于《程序员的实践》一书中的一个故事。传说程序员随身带着一只小黄鸭。在调试代码的时候,他会把小黄鸭放在桌子上,向鸭详细讲解每一行代码2]

    很多程序员都向别人(甚至是根本不会编程的人)提问,讲解编程问题,在讲解过程中击中了解决方案。一边观察代码的实际意图和调试,一边解释代码的意图,这样两者之间的任何不协调都变得明显,更容易发现自己的错误。如果没有玩具,小鸭子也可以考虑和其他东西说话,比如桌子上的花草,键盘,鼠标。

    同样,有一种现象叫做coneofanswers,这是一种普遍现象。* *你的朋友来问你一个问题,但是当他自己做完问题,或者中间想出答案的时候,他就走了,留给你一张空白的脸。是的,这个时候你扮演了小黄鸭的角色。

    类似的概念还有很多,比如告白调试,纸板程序员或者程序员的假人,脑子出问题等等。一般来说,在试图表达自己想法的过程中,你自然是在督促自己理清思路,重新思考问题。3]

    小黄鸭调试法是非常经典的读码技巧。阅读代码的同时,向自己或其他媒体解释相应代码的含义。发现了一些简单的问题。

    # # #输出语句

    只读通读代码,如果是单词错误(单词错误是早期学习过程中出现频率最高的)。在我们程序员“护犊”的情况下,有时候我们看不到很多次。*“我的代码和他的一样,我的代码正确吗?为什么我不能?”*

    这种情况下,我们需要在程序执行过程中找到一些关键的地方添加输出语句,然后执行,看看输出效果。如果输出语句与预期效果不符,甚至根本没有执行,那么问题大概就在这里。

    # # #专业

作者信息

查老师 [等级:3] 小白文写作者
发布了 35 篇专栏 · 获得点赞 721 · 获得阅读 13358

相关推荐 更多