编程序不仅要动手,还要动脑。编写好的优秀的程序,不仅要动手动脑,还要动心的。用心渴望完美的程序,用心体会一流的代码,用心去追求每一个环节。
一:指针
最怕段错误
可以使用gdb等调试工具,但是最有效的办法是养成良好的变成习惯。
a. malloc and free,是不能拆开的一对。
b. 函数调用从调用函数传来的指针,要追踪其源头,注意分配了多少空间。
c. sprintf、strcp等涉及到写操作的库函数,要注意分配的空间是否足够。
二:永远不要相信自己的代码
对没有做过测试的代码,是完全不可信任的。程序执行有很多的不可确定的因素,一次、两次、甚至是一直无错的记录,都不能保证未来不出错。
a. 给别人讲程序。自己想一遍流程,让对方检查一次流程。
b. 文章是改出来的,程序也是改出来的。定期回顾一下自己原来编写的程序,会发现很多逻辑错误、隐形bug等等。在这个过程中,你能够学到自己原先不懂得东西,收获丰富。
程序写完后,自己可以用别的思路再次写一遍,推敲各种细节。一遍遍的写程序,看似无用功,其实是一种修炼。修炼不就是重复吗?重复得真章!
程序完成后,隔12小时或着一天,再次读一遍,修改一遍。
自己改完后,让同学帮你修改一遍。
我相信,使用以上的办法坚持半年,一定会收获丰富的。
三:调试
代码的错误不是对自己的否定,也不是对自己的挑战,而是一件极为正常的事情。完成它,科学的完成。不骄不躁,将错误找出来。这是编程的一个很大的工作。
a. 将程序看作很多个小功能体的复杂组合。以每一个小功能体为基本单位进行测试。在测试每一个小功能体时,屏蔽掉其他功能体的影响。
将出错范围不断地缩小,直到找到出错的代码。
|
|
来自: 李欣 > 《Compute Science》