对于程序的时间和资源依赖是不同的,但在程序里很多时候是一回事。
这两天编写的这个程序bug很多,还没有学会测试驱动开发,也暂时不会使用nose等自动化测试工具。
通过今天看的从小工到专家,并发性给了我思考,于是尝试把程序的时间依赖写出来。
挺有意思,画图的过程野很愉快,画出段图像也比较好看,决定拍照留念。
当然最重要的事,这张图画出来只需要20分钟,画出来的同时,对这个程序所有的恐惧基本消失了。
现在不但可以直接学习做并发,而且对程序修改起来也得心应手,因为知道它是怎么运行的了。当然也知道了如何做并发编程。
这个程序的性能要求可以忽略,对于资料写入的性能要求也可以忽略。
从最开始编写的几十行资料录入程序,其实已经可以满足工作需求,但现在接近400行,实际上也是把这当做一个学习的机会。正应了那句话,做好80%的工作只需要20%的时间,而剩下的20%的工作,却需要80%的时间去做,对于追求完美的人也是这样。
想想自己这一个月的收获,对编程的理解有了很多,当然测试和抽象还有手工写伪代码等能力,也确实在实际中体现出了重要性。
这也促使我想起一个问题,如何不犯别人犯过的错误?或者说,如何更有效地学习别人的实践经验?
有没有可能不犯那种错误,就理解那种错误的重要性呢?好像在核聚的文章中我看到了这一点,他把很多名人的话不断引述,让人觉得重复很重要,他应该是个能做到这点的人。
但是不是只要重复就能理解重要性了呢?显然不够,他好像是从传记中结合自己的想法,去理解为什么那句话很重要的。
所以别人的经验是浓缩的,自己看了还是会犯错,但是从别人的经历中,传记中去看别人为什么说那句话,并展开思考。
尤其是对别人犯的错,不断研究,或许就能在一定程度上理解那句话的含意,也就能在以后少犯类似的错误。