||||
我在一个很小的问题上摔倒了两次.
几个月以前,我写过一个perl的小程序,目的是给一些蛋白质按照某分类方式进行分类,去掉一些冗余的蛋白。
这个只有一百行的小程序却出了问题,因为我想当然的用了sort函数直接给一个二维数组排序,当时有结果,程序没有报错,程序就写下去了。
直到今天我才偶然发现分类有问题,我在程序里面查了一会,才发现根本就没有排序正确。傻了眼的我上网去查,才发现sort给二维数组排序,排的是他们的“引用”,而不是数据本身。
看了看那个论坛的讨论,我照别人的方案做了,貌似成功了,兴冲冲的就对不同的数据都跑了这个程序....然后才发现只是大部分分类正确,还是错的。。
这回我才老老实实的尝试不同代码,打印排序结果,直到程序可以“适应” 所有数据。
这回真的是欲速则不达了,还好最后检查出了问题,要是这个大问题没发现,对后期的工作影响很大,想想真觉得后怕.
分析原因至少有三:
1。我的编程基本功不扎实。
2。在遇到以前编程没有遇到的情况时,没有动脑子,只是等着程序报错,这个习惯很不好。
3。不仔细检查输出的结果是否真的正确。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-6-4 00:51
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社