昨晚突然兴起用java swing写了一个通讯录的程序,写完之后发现始终有异常,是type cast error。我想了半天也没想起来我哪里使用type cast了,在异常路径提示的代码中我非常十分仔细地看了一遍又一遍,怎么也没有发现错误。实在忍受不了啦,我昨晚就放弃检查啦,回宿舍睡觉~~~
睡梦中突然想起是不是调用了子功能模块,而前面设计的子功能模块里面使用了非法的type cast而把错误和异常带到了后面的程序中。就这样在床上辗转反侧呀,终于天亮了,我一个飞奔到了实验室。打开昨晚的代码,把所调用的子功能模块也检查了一遍,果然让我找到了造成exception的地方!!
惊喜中写下此文,顺便聊下心得,希望与各位分享。
1、程序按功能划分是有很大的好处,但有利就有弊,因为功能划分也使得检错变得困难,因为会出现错误的遗传与延续。当然了,不能因此而抹杀模块划分带来的好处,毕竟利大于弊。
2、单元测试是如此的重要呀。嗨,如果我每做完一个模块就测试一下就不会出现这种exception了吧,尽管也不可能发现所有的错误哈。
3、敲代码小心使得万年船呀
3、遇到瓶颈的时候就回去睡觉吧