科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件程序员应学会良好的调试技巧

程序员应学会良好的调试技巧

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Justin James最近写了一篇文章寻找高级开发人员。其中他的要求之一是良好的调试能力,这也是一个与我十分接近的话题,因为目前我正和一个调试能力较差的同事共同工作。

作者:Rex Baldazo 2007年6月20日

关键字: 调试技巧 程序员

  • 评论
  • 分享微博
  • 分享邮件

Justin James最近写了一篇文章寻找高级开发人员。其中他的要求之一是良好的调试能力,这也是一个与我十分接近的话题,因为目前我正和一个调试能力较差的同事共同工作。

事实上,他的调试能力是如此之差以致于我都认为这是根深蒂固生来就有的特点,因为无论我花费多少时间帮助他,他就是没有任何调试技能方面的改进。

令人不解的是当他有一个清楚定义的工作时,像“通过改变这个包执行这个循环的方式来修复漏洞”,他能够很好的完成没有多少问题。单独说来,他的技术能力还是可以的,但说到查找漏洞并确定修复措施他就不行了。他费尽力气旋转他的车轮但方向完全不对,最后不得不请求其他的工程师帮助他解决问题。

我认为任何人都能够理解如何考虑系统的所有组成部分并知道哪里可能会出问题及向哪里去查看。如果你能够编程,你就能够理解如何思考整个系统的代码而不仅仅是一页代码。但是与这个同事合作开发使我开始认为可能确实存在一些人就是学不好调试技巧。

他并不是初级程序员——他已经作为一名软件工程师在该行业工作了至少10年的时间。足够长的时间让你认为他应该掌握了牢固的调试技能。

而且也不是他不想学习。可以说他在努力,而且我知道他希望做的好些,因为他希望给老板留下好的印象以便得到提拔。至少当一个漏洞出现时他花费时间去查找漏洞的来源。但是,不可避免的是,如果我有时间帮助他理解为什么他的代码不能按照他预想的方式工作时,我会听到他问一些外行的问题。

同时,他的代码也没有什么错误,他确实完成了生产。问题是当出现一些漏洞时,他要花费大量的时间来找问题,因为他好像不能完全理解整个系统的所有部分是如何配合组成一个系统的。

当一个Oracle代码包出现错误时,问题是在PL/SQL,还是在数据表中的数据或者数据表结构自身的问题?是触发器不能正确的更新序列吗?

他知道所有这些情况,但是他就是好像不能够将这些问题集中起来制定一个计划来跟踪漏洞。很小的部分、代码单元,他能做的很好。对于大的系统他的代码是如何同其它部分交互的,他就不能很好的理解了。

我不会放弃,我不能容忍这个问题。我需要他在调试方面有所提高,这样我就不用花费大量时间帮他解决问题。但是老实说我开始相信可能确实有些人就是学不好调试技巧。

责任编辑:德东

查看本文国际来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章