我对调试程序的一个理解

1,什么东西都有一个过程的。只是我们站在这个过程中的不同阶段说出自己对调试程序的一个理解。


而这个我们也是有关联的。


因为有些人非常熟悉日志打印错误。


有些人非常熟悉println()和alert()。


有的人喜欢单步debug方式(慢,不到万不得已是不这样做的)。将代码逐渐减少的排错方式(慢,不到万不得已是不这样做的)。


有的喜欢采用橡皮鸭调试方法。


有的当程序出现问题的时候他什么都不做就只是在思考,在脑子里不停分析这个功能点或者代码片段的执行逻辑过程,对,就是用脑子模拟机器的执行过程。


而且我们思考问题也是跟时间空间情绪相关联的。


2,都是一个熟悉过程。没有任何一个方法,放之四海而皆准。当我们没有方法的时候,就可以好好思考上面的策略了。然后自己一点一点地熟悉。最后拥有了属于自己的一个理解过程。拥有了属于自己的心得体会和调试程序手段。这些调试方法都非常的好,我们需要灵活搭配使用。

3,橡皮鸭式调试程序思想。是从一个大牛的博客上读到的。然后理解了他的概念。就是说,当我们程序出错了或者当我完成一个功能了,我们应该对着一个橡皮鸭子说出,我们这个功能逻辑的整个逻辑过程。他特别强调了是说出整个逻辑过程越详细越好,绝不是那种,这里就是调一个方法,那里就是定义一个局部变量方式,而是具体到每一个细节,如果能够准确而详细地说出来那就是OK的。如果在说的过程中,出现了卡顿或者自己都描述不清楚自己的程序做了什么。那么恭喜你,橡皮鸭式调试方式已经显示出它的作用了,帮你找到了程序的Bug。为什么是橡皮鸭?因为他不说话,他听你说。

4,之前读关于Linux系统的一篇文章。那篇文章中提到对调试程序的一个看法。他说有些人就是厉害,当程序出现错误时候,根本不做任何处理,只是动脑子想整个逻辑实现过程,力求程序在脑子中实现执行过程。这是很厉害的。


5,我们都知道读书的时候,想要考高分。至少我们对知识是特别熟悉的,而且有一定的理解深度。并且我们能够以一个知识点串联起整个生态系统的知识。剖开高智商的人来说,我们都需要熟悉这些基本知识并且有一定深度的理解然后把这些知识系统化。编程高手都是一点一点训练出来的。你想下你愿意为编出优美的程序而读书吗?比如只是针对程序来说。提高程序设计:《Head First 设计模式》《Design Pattern》;提高程序结构:《重构 改善既有代码设计》《代码整洁之道》;提高代码内容:《修改Java程序的151个建议》《Effictive Java》。整体提升:《代码大全》。同理,为了超强的调试程序能力,都需要知道上面的调试手段,理解这些手段,熟悉这些手段。然后练习。练习多了,思考多了,对比着思考多了,自然就厉害了。




猜你喜欢

转载自blog.csdn.net/outsanding/article/details/79474541
今日推荐