作为一枚学生,我觉得我们编程方面的教育在两个地方存在严重的不足,第一点是不注重代码的规范,第二点就是没有注重调试能力的培养。
第一个问题其实不是什么大问题,很多人自学编程学到一定程度的时候开始注重代码的规范性。读多了,写多了,代码的风格就固定下来了。在学校里面,基本上扫一眼代码的风格就可以粗略地判断这个人的编程水平,这一点你同意吗?反正我身边是这样。
第二个问题就是该帖子的重点,也就是调试的问题了。
我多半是在Linux平台写C程序,写了两年左右的样子,说来也惭愧,调试工作一直都做得不好,用gdb调试的时候也仅仅局限于“设置断点-执行-watch、s、print”,代码比较短的时候还比较好,假如长到1000行再多一点循环语句,调试起来就会很吃力。
除了gdb,其实Linux下还有很多其他的调试工具,但我一直都没怎么去研究。
其实我还算好的了,平时编程要是遇到什么问题,一般都能通过调试解决,只是我的调试方式效率有点低。而且没办法判断程序是否出现内存泄漏。
网上编程的例子一抓一大把,相比之下debug方面的教程就少得多了,书店里面也是这样,往往难得找到一本不错的debug书。在这样的环境之下,大家都来说说是怎么学习调试的。
第一个问题其实不是什么大问题,很多人自学编程学到一定程度的时候开始注重代码的规范性。读多了,写多了,代码的风格就固定下来了。在学校里面,基本上扫一眼代码的风格就可以粗略地判断这个人的编程水平,这一点你同意吗?反正我身边是这样。
第二个问题就是该帖子的重点,也就是调试的问题了。
我多半是在Linux平台写C程序,写了两年左右的样子,说来也惭愧,调试工作一直都做得不好,用gdb调试的时候也仅仅局限于“设置断点-执行-watch、s、print”,代码比较短的时候还比较好,假如长到1000行再多一点循环语句,调试起来就会很吃力。
除了gdb,其实Linux下还有很多其他的调试工具,但我一直都没怎么去研究。
其实我还算好的了,平时编程要是遇到什么问题,一般都能通过调试解决,只是我的调试方式效率有点低。而且没办法判断程序是否出现内存泄漏。
网上编程的例子一抓一大把,相比之下debug方面的教程就少得多了,书店里面也是这样,往往难得找到一本不错的debug书。在这样的环境之下,大家都来说说是怎么学习调试的。