关于代码review

          咳,不知道各位程序大牛们多久检查自己代码一次,抑或是从来都不检测,还是只要运行结果符合自己所想行,符合正常逻辑就行了?今天小弟我心情很低落。。。本来我应该高兴才对,却怎么也高兴不起来。。。

         从我写代码以来我就很少定期review自己的代码,在我心中,我一直认为,只要代码跑出来的结果符合我的逻辑,符合正常情况,那么它就已经对了,完全不需要检查,肯定不会有问题。然而今天我却彻彻底底认栽了。。。我深刻的体会到,有些程序是一定需要反复review的。

         前段时间我正接手一个同学的research工作,该research工作类似于知道一个硬币抛了几次,推测每一次硬币正反面出现的情况,我们要尽可能的提高该推测概率。在我接手他的工作时,他之前做了一个简易的模型来推测,有72%左右的概率,当时我觉得这个模型不错,但是为了提高概率当然换个更高级的模型,HMM显然是一个很好的选择,风风火火的做了下来,我的代码有将近75%的概率,恩,不错,我的代码应该没有问题,这个提高再正常不过了,我显然理所当然地认为我的代码没有问题,错了的话,哪有这么高的概率?当时还风风火火和我的舍友炫耀来着,我就从没有review过我的代码,还兴奋的以此程序进行测试,测试了一个星期,得到了许许多多很好的数据,当时那个心理爽阿,就算别人打我一拳心理都是乐着的,咳,为什么没人打呢?让我清醒一下也好阿。悲剧显然发生了,由于要做两个模型的对比,那么评判的标准自然要一致,就在我将自己的标准向之前同学的标准转变的同时,发现我用于training和infer的数据调用代码是错的。。。这个心痛啊,泪崩啊,辛辛苦苦测了这么久的数据结果竟然是错的!如果之前概率低一点我一定会好好review自己程序的。。。可是老天就是这么喜欢玩我,还让我无话可说!无话可说。。。

         希望正在写程序做research的朋友们不要再重蹈我的覆辙阿,有空多看看自己的代码,胜不骄,败不馁。如果实验结果好,确定程序没问题,如果实验不好,也要确定程序没问题,多做review阿。。。老天喜欢拿显然的事来玩我们。。。

         我要重新测试了,咳。。。希望大家引以为鉴。。。不要给自己泪崩的机会。。。。。。

 

MicroTeam  Liuhang

posted on 2010-12-04 14:06  MicroTeam  阅读(1052)  评论(0编辑  收藏  举报