当前位置: 首页 > 科技观察

程序员遇到bug的30种反应 你中招了没

时间:2023-03-19 17:02:06 科技观察

程序员应对bug的30种方式你中招了吗?当气氛紧张时,话语显得轻松幽默。最终,错误将得到修复,您将继续执行下一个任务。我敢肯定,许多Web开发人员和软件工程师都在编程方面苦苦挣扎,事后发现它很有趣。1.不知道是删除还是重写之前写的源码。总有一种想返工的冲动。逻辑性差,冗余代码多,难以理解。但是,如果功能没有问题,请不要修改它。这是我经常遇到的问题,相信也困扰过很多其他的软件开发者。2.在开始架构的时候,应该查看Github。相信大多数开发者都知道Github,每天都有一些令人惊叹的开源项目发布在上面。涉足所有计算机语言、使用网络分叉现有项目、在wiki论坛上讨论或回购他们自己的源代码的程序员为各种项目资源提供了丰富的插件和模板源。3、这个脚本为什么要依赖那么多的库当涉及到一些越来越广泛使用的计算机语言,比如Java、Objective-C,库文件的数量也越来越多。显然,构建一个框架需要大量的基础库,甚至一些JavaScript插件也需要大量的附加文件。有时这种混乱可能很烦人,但至少它有效。4.网上一定有解决办法。遇到困难,我的第一反应就是上网查资料。很多程序员会在论坛上发布自己的问题,最终这些问题都会得到解决并存档。谷歌会神奇地选择一些与你的问题相关的关键词,你可以很容易地得到一些对你有帮助的讨论信息。不幸的是,有时没有很多关于特定问题的信息。5.这个功能有插件吗?何必呢?插件是扩展任何程序或网站的用户界面的重要资源。此外,它们还为开发人员提供了一些自定义和独特的选项。如果没有可用的插件,您为什么不自己创建一个呢?6、对于网站项目,我很担心作弊的InternetExplorer使用IE渲染网页遇到的各种困难。.Web开发人员会害怕网页调试,用IE6渲染是一场噩梦,值得庆幸的是那些日子正在慢慢成为历史。7.有些逻辑语句不合逻辑。有一些逻辑语句,例如if/else循环、for循环、while循环、do循环等等,等等。在审查一些源代码时,我总是试图弄清楚我的逻辑是怎么回事。我经常回去更新代码,让逻辑更清晰。8.我写了一个函数花了30分钟,但运行起来却花了2个小时。这不是十年前关于编程的故事吗?当一切如你所愿顺利进行时,突然一个函数输出了一个致命错误,你只好回过头来删除代码块,试图定位错误的代码行。虽然可能会很累,但是一旦找到错误原因并解决问题,你会立刻感到如释重负。9.看了几篇博客后,我意识到我所做的都是错误的。我总是喜欢按照自己的编程思路直奔主题,但是如果事情不按照我原先的计划进行,就会造成很大的麻烦。很多时候,我在做一个项目的时候,在途中遇到了麻烦,不得不去查找博客和相关文章寻求帮助。后来发现我的整个方法是完全错误的,从头开始会更容易。因此,从长远来看,在项目开始时进行更多研究将节省时间。10.StackOverflow上的好心人也许可以帮助我。我已经数不清有多少次遇到通过StackOverflow解决的问题了。只要你提出一个问题,社区里就会有很多聪明、友好、热情的人愿意帮助你。在所有在线论坛中,它对软件编程和前端和后端Web开发的支持绝对是最全面的。11.这个问题其实是缺少右括号造成的。调试是我们经常使用的一种方法,前进两步,后退一步,前进两步,等等。花几个小时盯着代码寻找函数命名或变量作用域中的错误,却发现少了一个括号会让你哭笑不得。所有的时间都浪费在一个小小的语法错误上,在那一刻,你觉得自己既是天才又是混蛋。12.喝杯咖啡休息一下。有时您需要起床并离开显示器并在键盘上键入几个小时。中途休息一下,对身体大有好处。大多数健康指南建议每30-60分钟休息一次。但这仍然取决于您的需求。如果你觉得中途停下来休息会打断你的思考,让你很不舒服,那最好不要。13.我应该把这个项目搁置一旁,以后再做。另一种休息方式是暂停手中的项目,而不是离开电脑桌。也许你还有其他工作要做,所以继续下一个任务。与试图继续努力解决一个需要5个小时才能解决的问题相比,这将是一种更合理的分配时间和资源的方式。14.我在想也许古典音乐可以激发我的编程潜能?有一种说法,古典音乐可以促进植物的早期生长。我个人比较喜欢古典音乐的那些精妙绝伦的注解和乐理。爵士乐、钢琴、大乐队和优雅的音乐在全球人类文化中找到了自己的位置。所以在编程的时候听一些优美的音乐会让调试更容易。当然,也有可能让你更加不爽。15.也许现在是验证鲍尔默巅峰理论的好时机。鲍尔默巅峰相信很多读者都知道,它是根据XKCD特制漫画改编的。简单的说,这个理论认为程序员的编码能力在喝了一定量的酒后会达到顶峰。这种古怪的手势起源于史蒂夫·鲍尔默,被认为就像喝醉了胡说八道。虽然这有点讽刺,但由于鲍尔默在微软从来都不是真正的程序员,所以我猜我们只能等待其他人来实践这个理论。16.谁动了我的代码?这听起来有点偏执,但有时你想知道是谁在你补觉时写下这些东西的。回顾过去几周或几个月的项目会让您感到头晕目眩。有时你不记得你写了这些东西——即使你上周正在做这个项目。就像我疯狂写的代码,但你永远不知道...17.我一点都不知道。这是您可能遇到的最糟糕的情况。应该是在你研究源代码,完全不知道它在做什么的时候。也许来自您自己的项目或其他人的项目,但问题是一样的。此时,您必须决定是否值得花更多时间寻找其他解决方案或仔细剖析代码以研究它的作用。18.直接google错误信息鉴于多年的PHP经验,不得不说Google真的是调试问题的最佳搭档。这对于Objective-C、C++、Java等主流语言来说一定是一样的。错误信息对我们很有用,但你必须记住不同错误代码的含义。它读起来更像是经过翻译的计算机语言。幸运的是,有如此多的在线支持,让我们确定这些错误消息的真正含义。19.这应该是一天的结束,但我真的很想把它解决掉。我们都知道想要戒烟时那种极度沮丧的感觉,但同时又觉得戒烟不是正确的选择。您很想继续前进并寻找新的解决方案。但是如果到了***还浪费一个小时怎么办?我对这种情况并不陌生,这可能会非常令人沮丧。20.靠,我怎么没写评论?如果涉及到最基本的前端代码HTML/CSS/JS,并不总是需要写注释。但如果是比较复杂的脚本和程序,就需要写一些标准的注释,以便几个月甚至几年后可以查看代码。有时您会忘记为函数、参数、输出格式和其他重要数据编写注释,这无疑会在您不得不调试整个脚本以寻找解决方案时造成混乱。一些有用的笔记会很好。21.20分钟前还好吗?也许构建程序最令人沮丧的事情是,刚才还不错的东西,不更改任何代码,现在无法运行。我发誓这绝对会发生,而且它没有意义-也许其他程序正在运行缓存版本?然后有时我们只更新一小部分代码,整个程序就会崩溃并完全停止工作。那将回退到***备份版本,从那里继续。22.我忘记了一个该死的分号,整个程序崩溃了。我用过的几乎所有的编程语言都要求在每一行的末尾有一个终止符,但并不是所有的语言都是这样,但是C/C++系列语言肯定是这样的。当您忘记添加分号终止符时,这是一个多么明显的错误!但是解析器不理解它,所以它抛出了一个致命错误。然后你必须再花20分钟来研究代码并查找技术错误。最后发现只少了一个分号。哈,这就是软件调试的乐趣。23.我想雇人帮我修bug,需要多少钱?雇佣程序员的想法听起来很诱人,但在经济上显然行不通。另外,如果你连错误都没有改正,你怎么能从错误中吸取教训呢?多次失败后,***当你真正理解编程的概念时,你就会有成就感。但有时脑海中难免会闪过这样的念头。24.快速浏览一下HackerNews肯定会提高我的效率。许多程序员更喜欢在HackerNews首页浏览软件、创业等社会新闻。它有大量关于自由职业、时间管理、软件开发、启动和筹款的重要信息。HN虽然可以通过自我教育模拟出更高效的感觉,但实际上是在浪费你的时间。每隔几个小时快速浏览一下新闻也不错。25.为什么没有这个API的文档?最令人沮丧的是在使用插件或框架时,文档很糟糕,你必须自己挖掘源代码。我更愿意让开发人员花时间专门为项目设计一个文档页面,解释所有的参数和选项,如果可能的话给出一些示例代码。不幸的是,这几乎是不可能的。因此,最简单的做法就是远离那些带有糟糕文档的工作,以免给自己惹上麻烦。26.我希望我已经备份了数据库。在编写和调试代码时,我有时不会考虑备份。但是数据备份可以帮助我们回滚到某个更改之前的版本,这对于实时服务器环境尤其有用,有些更改是瞬间发生的。请记住保留网站文件和数据库的本地副本,以备不时之需。您可能认为这太麻烦了,但这比重建SQL数据库要好得多。27.如何快速解决这个问题?如果在花费数小时后仍未找到解决方案,很明显您需要一个新的解决方案。程序员总想先实现功能,再设计美化界面。先确定最快最准确的方案,并努力去实现和完成,然后就容易考虑界面美化的问题了。28.我敢打赌,如果你更新我的代码,这个问题就会解决解决了为编程语言提供依赖和插件的团队不需要频繁发布产品。有时从本地传输文件到服务器时,更新PHP/Ruby/Python/SQL版本可能会解决一些调试问题。除非你的版本真的很旧,否则本地更新很少能帮助你修复源代码中的错误,但值得一试!29.真的是我学Git的时候了,……还是下周吧。开源版本控制软件Git在程序员中非常流行。它提供了比竞争对手更容易的学习曲线,并在Github和Bitbucket等许多在线存储库中使用。对于初学者来说可能有点难度,但是一旦掌握了基本的命令,你就会发现使用GI是小菜一碟。它还使版本控制更加清晰。30.算了,我还是从头开始吧。有时,在尝试数小时的解决方案后,您可能需要存档您的工作文件(或删除它们)并重新开始。这个决定最困难的部分是你会认为前几个小时的工作是徒劳的。但如果你保持以前的想法,项目就不会进展。只有重新开始,项目才能圆满完成。