福尔摩斯的bug

来源:互联网 发布:物理轨迹软件 编辑:程序博客网 时间:2024/06/08 01:25

      看过福尔摩斯探案集,会有很多遐想,假如自己就是这个帅呆了的侦探。也许这不是假如,如果你在看繁重的code,而且已经面目全非,是的,已经经过N个人洗礼的代码,业务交织错综,庆幸的是它还能运行!不幸的是它需要你重新理清!

如果你是programmer,那么你就要扮演福尔摩斯的角色,ok,那个终极BUG就是你的目标!


    首要任务:理清整个过程!对整个事件,什么人参加,干了什么事情,都要了熟于心(业务过程了解);


    第二个任务:梳理节点!每个人在哪里做了什么事情(每个业务如何完成功能,参数那里来那里去,服务是否正确,codereview是它的保证);


    第三个任务:排除可疑点!整个过程,肯定会有你觉得可疑的人或事(怀疑和相信自己的判断,这个观点不矛盾,怀疑有疑点的code,care自己相信的code,OK,排除掉!);


    第四个任务:推测实施!通常侦探会给人一种假象,让整个事件正常,让犯罪嫌疑人自己露出马脚。(设置断点,当然,如果可以设置还好,通常比较困难。那么,打印监控日志,让这个流程跑起来,抓取关键点,我想这个bug在这个时候要现身了!!!)


    第五个任务:结案或者继续从第二个任务重复;(如果可以找出这个bug,Ok,you  are  winner!  否则,跳出这个思考角度,人有的时候如同走进一个死胡同,你要有勇气回头,选择第二条路,寻找bug亦如!)


    结论:我想真正的“案情”,不会只有这么简单,不同的case有不同的business,虽然业务流程不同,但是,万变不离其中!相信自己,这是一种意识,它是外部环境和潜意识的桥梁,就是在如何困难的环境中,你依然有理由有能力... ... 相信,坚持... ...潜意识为你寻找缘由,最后才可能有那种winner 的感觉!

原创粉丝点击