主题:  对本版一些想法

蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#12004/10/3 23:59:07
我觉得这里最多的是代码出错问题。最一个初学者来说,代码出错是非常着急,恨不得马上就问个人,马上能解决。

晚上,我装了WIN2003,装好VS2003,打开源程序,继续。可是问题很快出来了,在WIN2000中运行好好的代码,现在出了个不大不小的问题,是对象还没有引用的问题。按继续,还能正常运行。但问题总是在的,但中断,却找不到程序错在那里,因系统告诉你,出错在未知代码中。我马上头大了,在上万句代码中,要找错误,不知往那里入手。

;)我不可能把万句代码往这儿帖吧。

静下心来,从起始程序入手,因一些大块的对象初始化,都用一个过程,所以先不不初始任何子块,结果不出现错误,说明在子块中出错了;然后初始每块子块,发现某大子块中有问题。逐淅深入,结果发现在控件的change事件中调用了另一子类的程序,按正常的循序,没发现逻辑错误,但程序就是程序,他可能会引起时差,结果调用程序的子块初始还没完成时,就调用了。问题找了,就很快改好了。

程序员,心不细,是成不了好程序员的。想以前,刚学程序时,也这样,问题来了,怎么也发现不了。没得地方问,只能硬着再看,原来是这么个小错误。虽然化了很多时间去检查,好象不合算,但这支锻炼了调试能力,一种心细如发的观察能力,而这种能力恰恰是程序员一种必要的素质。其实程序员的很多素质不是搞写代码能学到的,程序员很象个艺术师。

我发觉这里一些问题,很多是由于粗心造成的。比如数据库不能打开,其实你查找一下手册,马上就会找到原因。另外一些系统等设置,你如果化心事找下去,可能会发现比你想要的更多知识。所以,我建议,出了错误,第一不要想到别人,而是应该知己去找,一些基础性的自己一定能找出来。有时代码稍多些,就应该首先做到代码清晰,再者是层次分明,最好复杂些功能用过程或函数。这样出错了,先可以屏弊一些功能,逐项测试。ASP里可以用Response.Write输出一些需要的变量,用Response.End暂时中断一下程序,可以测试以前语句是否存在问题。真的,这样多做了,你会炼成一种对程序调试特有的敏感性,而这不是一天两天会有的。

最后想说的是,对错误调试,首先要问到的是自己,相信自己一定能解决。如果复杂的,可以请朋友一起探讨,也许会有些启发性的东西,但绝对不能依赖别人。
除了自己缺少资料,或一些函数或特殊用法不懂外,可以问别人,调试问题,自己一定是主角。

编辑历史:[此帖最近一次被 蓝鲸 编辑过(编辑时间:2004-10-04 00:11:37)]

非常大鱼

damoo

职务:普通成员
等级:1
金币:1.0
发贴:28
#22004/10/11 18:17:07
同意楼主的意见。

任何事情最终都要依靠自己。别人回答你的问题是出于友善,不回答,总是有各种各样的原因。在没有答案的时候,自助才是终极方案。

从自信和尊严出发,每个人也有必要下苦功,努力学习。功夫花上了,就自然有许多心得和经验、甚至思想。如何做好分析、设计等。

前提是:我们没有任何理由必须让别人来帮助自己。没有任何人欠你的。