C++_软件开发心得(害,其实是期末总结)

在这学期的学习中,我对C++从最初的一知半解到现在的基本入门,有一种发自内心的成就感,同时十分感谢平日里一起讨论问题的同学和努力的自己。虽然我现在的水平只能达到刚好入门C++,但是我相信自己有能力学得更多走的更远。
本学期在老师的带领下,我一共独立完成了3个系统,分别是对手机通讯录、ATM机模拟、图书管理系统的模拟。虽然都只是很水并且莫得灵魂的小系统,但是在写它们的时候,我也感悟到一些小小的心得:

**1).写系统之前要有计划。**就像写作文要有提纲,写系统也需要一个“计划”。这个计划也不是随随便便的简单想想,而是要明确地列出系统所包括的类(数据类、操作类)、类的组成等。其中函数的具体实现方法可以先不写出,但是一定要有一个大纲,不能信马由缰。这样以来,真正写程序的时候就可以知道先写什么、再写什么,减少写写补补的情况发生,不仅思路清晰了,还可以提高效率。

**2).系统是一步一步来完成的。**没有什么是一蹴而就的,都要循序渐进地完成。在我看来,系统是由一块一块的代码组成的,它们每块都有各自的功能。在编写程序时,应该事先有所准备,在脑海中有一定的想法与规划,然后再开始写。写系统最重要的一点就是要在写完每个功能的时候都检验一遍,比如写一个与之相符的主函数来实现它的功能。这样一点一点地写代码的方式能够有效且及时地检查出当前代码的错误之处。否则,若是到了最后把所有程序都写完的那一刻再去编译,则极有可能被大片的错误淹没,到时候改都不知道从何处改起。

**3).每次程序都要自己重新写一遍,不要复制粘贴。**虽然每次写的系统多多少少总会有一些重合的部分,但是千万不要复制粘贴过去,应该完整地再写一遍,这样可以加深印象,帮助更好地掌握,甚至可以激发新思路。

还有一些更小的心得:

**1).变量名称。**要起有意义的名字,这样子不仅有利于自己写代码时的理解,避免混淆,也方便跟别人交流。用英文单词命名变量的时候,常常有好几个单词表示同一个意思。例如order和command都有“命令”的含义,但是显然command更专业且使用的人更多一点。同样的还有cut和delete,change和modify等。

**2).不要画蛇添足,但也要思考周全。**比如最初的时候,老师布置了个模拟通讯录的系统,老师说的“删除”功能的含义就是把某个人的联系人信息(姓名、号码)同时删除,而不是想我一开始想的那样,分为只删除姓名、只删除号码和姓名号码同时删除的情况。因为如果要做到单独对姓名或者号码的改动,用修改函数就可以了,否则这种删除函数就是啰啰嗦嗦的画蛇添足。为了注入灵魂而注入灵魂是要出问题的(万一变成精神分裂的代码怎么办)!有时并不是细节越多越好,还要考虑其实际意义。另外,我一开始写查找函数的时候,写出的功能是如果查找的是联系人的姓名且查找成功,就输出他的对应信息,比如号码。这样输出存在一个问题,就是除非事先知道,否则不知道搜索到的信息是否正确,不如把此联系人的所有信息一同输出有信服力。

3).读取文件的问题。
①.确定文件是否打开。若最开始的打开文件操作就失败了,则后续的所有其他操作就是毫无意义的浪费时间了。不要想当然地认为文件一定会打开成功。既然出了问题,就要一步一步去排查。确保前面的操作正确执行,才能继续后面的工作,否则前面遗留的一点小问题都有可能造成最后程序的崩溃(牵一发而动全身?)。
②.文件成功打开,但是读不进去。可能是因为文件里的内容跟代码上的对不上号,比如多一项或者少一项什么的。这往往是在改动数据类的代码时忽视了文件上对应内容的改动!!

**4).搞懂了再去写。**在使用新的知识写代码的时候,要真正弄懂它是什么、怎么用才能用,不能为了用它而用它,否则在代码中会出现意想不到的、严重的错误,事倍功半。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值