从前就断断续续地看过几集《神探狄仁杰》。这两天空闲时就重新看了一遍。

第一部由三个故事组成。分别是“使团被杀案”,“湖州案”和“滴血雄鹰”。情节连贯,扣人心弦。想起这些年DEBUG的事儿,觉得办案与DEBUG有太多相似之处了。

一个好的抓虫师必须有灵敏的感觉。就像我们常说的,要能嗅出坏代码的味道。当你面对一群代码,错综复杂,N个人写的,或是一个不善表达的作品。你的第一感觉可能就是“这里的水很深。”不过,不要紧。再狡猾的虫子也是有破绽的。对不合逻辑之处 ,就要仔细想一想,这是为什么。“使团”案中,从假千牛卫的幽州口音,就推出了可能的一种办案方向。

一个好的抓虫师不可能忽略每一个细节。但细节太多了,所以必须将细节之间的逻辑关系感觉出来。只有形成了这个逻辑关系,你才能找出不合理的地方。将虫子一举抓住。“滴血雄鹰”中,狄老就是注意了被害人的不合理之处,从而推出了被害人的一个意图,从而找出了其隐藏的身份证明。而凶手,正是忽略了这个不合理之处,从而没将证据消毁。

一个好的抓虫师会用推理重现虫子的思想。各种细节与常识联系起来,会形成一个事件的关系网。从一个出发点到一个中间节点,是一个推进的过程。推理就是要遍历各个节点,找出一个合理的过程。如何去找呢?狄公常说,当排除了所有其它可能性时,答案就在眼前了。

一个好的抓虫师会让虫子自己跳出来。给代码压力,创造出错的条件,让虫子无处可躲。代码不会说话。BUG藏得很好。于是,给它压力,让它暴露。当然,这时要设好捕虫器,别让跳出来的虫子飞了。

一个好的抓虫师不会一个人去战斗。一个人能力有限,要会多方面寻找帮助。多问问“元芳”怎么看。多找找有用的各种工具。

神探狄仁杰是一个Debug高手相关推荐

  1. 如何成为一个Android高手

    很多Android开发者已经度过了初级.中级,如何成为一个Android高手呢? eoeAndroid就各个级别的程序员应该掌握哪些内容作为下面分类. 一.初级 1. 拥有娴熟的Java基础,理解设计 ...

  2. Directx11教程(11) 增加一个debug宏

    现在我们在common.h中增加一个debug的宏,在每个d3d11函数后调用,如果d3d函数出错,它能够给出程序中错误的代码行数. common.h代码如下: #pragma once #inclu ...

  3. 一个计算机高手的成长历程[转]

    一个计算机高手的成长历程 这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为国内IT的发展尽自己一份微薄的力量.最近看到很多学生朋友和我当年一样没有方向,所以把我的经历 ...

  4. excel函数手册_一个函数高手的成长之路

    作者 | Jodie 秋叶Excel训练营优秀学员 早上跑步听樊登读书会,讲到家长如何培养孩子的社交能力,有一个例子非常好. 你的孩子因为一个玩具,和其他的小朋友争吵起来了,你会怎么处理呢? 大部分家 ...

  5. 怎样成为一个PS高手

    一个PS高手的话 这是一个PS高手的体会,希望能对大家有所启迪. 1.不要看到别人的作品第一句话就说:给个教程吧!你应该想这个是怎么做出来的.当你自己想出来,再对照别人的教程的时候,你就知道自己和别人 ...

  6. 一个计算机高手的成长--转载

    主题:一个计算机高手的成长(来自计算机爱好者论坛) 这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能  够为国内IT的发展尽自己一份微薄的力量.最近看到很多学生朋友和我当 ...

  7. 一个PS高手的话,对初学者很实用

    一个PS高手的话,对初学者很实用 2011年05月09日 1.不要看到别人的作品第一句话就说:给个教程吧!你应该想这个是怎么做出来的.当你自己想出来,再对照别人的教程的时候,你就知道自己和别人的思路的 ...

  8. 交易已无秘密 一个期货高手的终极感悟

    交易已无秘密 一个期货高手的终极感悟 评论 邮件 纠错 2015-07-29 09:36:44 来源:和讯网 编者按:本文转载自网络上一个期货高手的感悟.看似封贴之作. 交易已无秘密.就此离去.能看到 ...

  9. 如何才能训练成为一个编程高手?

    每个人都有成长的渴望,也都会遇到成长的瓶颈. 一个读者问我:如何才能训练成为一个编程高手? 先简单说下这个读者的背景:工作 3 年多,目前在大厂做后台开发,身边有不少编程高手,是他想要追赶的目标.最近 ...

  10. 一个LINUX高手写给初学者的话(转)

    现在好多的人开始接触电脑的时候,见到的应该是Windows98  说实话,98 已经是一个很人性化,封装的很好的一个系统了  一个对电脑一窍不通的人都能很快的使用它.这样很多人对  "电脑& ...

最新文章

  1. 服务器维护日常需做哪些工作?
  2. (已解决)AttributeError: ‘PrecisionRecallDisplay‘ has no attribute ‘from_predictions‘以及查看sklearn版本
  3. 高通android开发摘要
  4. 在Javascript中 声明时用var与不用var的区别,== 和 ===的区别
  5. 144.⑨要写信(错排公式与高精度练习)
  6. CentOS7使用ISO镜像文件作为离线Yum源
  7. 微软职位内部推荐-Android Developer
  8. C++描述杭电OJ 2011.多项式求和 ||
  9. Origin绘制散点图个性化设置散点颜色
  10. PyTorch 1.0 中文文档:torch.hub
  11. linux mysql 密码策略_Linux Ubuntu 14 MySQL 密码策略(复杂度)和审计插件
  12. 获取微信小程序源代码教程
  13. 10本Java架构师必读书籍推荐
  14. 笔记3:STM32F103与STM32F030的区别
  15. 网线为什么要分A、B类接法?区别是什么?
  16. 《LeetCode刷题》—121. 买卖股票的最佳时机
  17. python主机配置_python 之根据自己的需求配置hostname
  18. VS2019切换中英文
  19. Java 菜鸟入门 | 深入浅出 Java 注解
  20. js中用变量作为$()内id的值、动态获取id,及获取其下面的class元素

热门文章

  1. 《预告 》 明天(9月19日),中国科学院自动化研究所首届智能决策论坛即将开幕!(附带10+位作者演讲主题及摘要)...
  2. 爬虫 -- 简单封装
  3. LGP970刷机心得
  4. TIC TAC TOE 井字游戏
  5. 放不下的原理_通俗易懂,几张图看懂大数据存储和计算原理
  6. 深度解析PHP数组函数array_merge
  7. Windows如何查看IIS访问IP记录
  8. 校园网站毕业设计,学校网站毕业设计论文模板案例,校园网毕业设计
  9. intel android 平板,IT百科之英特尔芯平板
  10. 提高睡眠质量的好物有哪些?五款助眠好物推荐