系统开发心得感想

系统总结
到现在也是写了几个小系统了图书管理,通讯录,atm。也有着不小的收获,对系统开发多少是有了点认识。
1.首先需要将大体的类和每个类所要实现的功能构思一下然后将其以用大体的代码写出来不需要实现只要把函数名写出来明白每个函数之间的功能,用什么容器来存储操作数据如何才能使代码更加简洁,以及做好类之间的联系(数据文件的存写保证数据的准确性)。
然后整理思路按顺序将具体的代码写出来每个函数功能怎样实现,如果卡住了可以去看一下课本是不是有什么漏掉的知识点现学现用也好将其用到自己的代码上。
2.做系统时测试的数据需要保证其准确性要不然只是想当然的去操作数据也会有一些错误的操作看不出来。
调试系统要边写边调写出一个功能来调一次,写出一个类来调一次不要总的都写出来了再调那样工作量会很大而且出了错也不好调(毕竟很多功能都是互相联系的一个地方需要改就会牵动很多地方而且会有漏改的)。测试的时候尽量每个功能多测几遍,数据尽量覆盖所有的可能(正确的和错误的以及一些规范输入)。
同时代码的格式也是要缩进不然在改错时不容易找到对应的地方,检查起来也很好检查向别人请教的时候也是很容易的让别人明白。然后是函数的命名及注释函数名尽可能地用操作的名字还有尽量不要重名尽管不是在同一个类,也可以用注释来标记一下函数的作用。
3.不要随便重载,在写查找时要用到map,vector等容器这些容器他们自己的函数,或者他们本身是需要运算符的很有可能因为没有重载或者多重载就会使某些功能无法实现但是编译器还不会报给你(亲身体验难受的一匹)。比如在用自己定义的时间类做map的键的时候就需要重载小于号map会根据键自动的由小到大排序。Vector erase需要将当前位置上的数据删除然后将后方的数据全部向前移一位这时需要用到=”赋值”,如果随便重载赋值就会使删除操作出错,当时这个问题纠结了我好久。
4.基类的抽象,查找功能的抽象,查找只是起到查找作用并不需要把删除和添加操作添加到基类中也不需要写文件只要把文件读进来就可以最重要的还是找到要抽象出来的操作的共同点明确什么是需要什么是不需要的。
5.做系统的时候尽量少去看别人的毕竟不是自己的东西如果不把他得思想理解透直接拿过来就用的话反而是搬起石头砸自己的脚,当然也可以当自己被某些问题卡住去看一下借此启发一下。

你可能感兴趣的:(c++)