一次编程大作业的心得

前几天(准确说从前两个星期就断断续续开始了,只是前几天才正式编码)完成了网络程序设计的大作业:一个即时通讯程序。居然有3天时间在debug。


编程的过程中被bug折磨的内分泌失调。使我不得不总结一下:

1.在动手写代码之前应该规划一下程序的框架。思路清楚之后才开始敲代码。要不后面会反复修改,劳神伤力。

2.具体到通信程序在写代码之前要约定好通信协议,通信的数据类型要约定好,两边都能支持的数据类型才能用。

3.申请的内存最好先清零,用bzero函数。

4.尽早掌握debug工具的使用。不过临时学也能用上,只是费时间又分神。

5.专注才有效率。

6.一段时间不编程就手生。各种初学者的错误都会犯。

7.不要假设某个地方一定不会有bug。你调试了半天没找到错误出处,说不定bug就在你认为肯定没有错误的地方。

8.GDB确实很实用,能快速发现错误的地方。用了之后debug快多了。

9.某些工具不会用,可以请教旁人,这样比自己探索快很多。比如这次花了半天时间弄glade都没摸到门道,同学主动过来教我,立马就有感觉了。虽然他没用过glade,不过他用java和C#做过界面。


貌似这次用C++开发服务器端程序,居然比用C开发客户端程序简单一些,花的精力明显少很多。


不过这次除了教训还是有点收获的

1.学会了一点点用GTK做界面。

2.学会了一点点makefile的编写。

3.学会了一点点gdb的使用。

4.接触了定时器,多线程,套接字。

5.第一次按照比较真实的需求封装一个C++类。


打算寒假看《软件调试的艺术》和《Debug Hacks》。


有个大的遗憾:为了调试程序没去考六级,只有明年最后一次机会再考了。不过就是去也很可能过不了,因为我什么都没准备。上次裸考也是失败了。这可能是我的性格缺陷了,忙于一件事就不想做任何其他事,哪怕很重要。


你可能感兴趣的:(编程经验)