#2018寒假学习总结
##前言 今年寒假刚开始前,本打算好好的学习服务器后端建设以及趁着寒假的空余时间配合ACM队的寒假比赛学习算法,却在开始后不久就收到了班主任和助教学长学姐的关怀,送来了C++寒假学习套餐,使得原本双开就比较繁忙的寒假生活变得更加的忙碌。不过寒假虽然忙,但是却没有初高中赶寒假作业那般枯燥,有趣的题目以及兴趣使得我的这个寒假变得极其有趣和充实。
##寒假作业(C++)学习内容总结
- | :-: | - 大约每天两小时|数千行 ###1、由面向过程程序设计(C语言)向面向对象程序设计(C++语言)的过渡 在现代,一个优秀的大型程序需要依靠团队的充分配合来共同完成的,而面对庞大的项目,选择合适的语言来开发能达到事半功倍的效果。C++语言便是一种适合团队开发的优秀语言,通过对程序数据+算法结合的数据类进行分开管理,大大简便了系统的维护和升级,对开发大型软件系统提供极大的便利。 ###2、类:数据+算法 在C语言中,可以自定义数据类型(关键字struct),即结构体。在C语言中,结构体仅能将一些数据进行集中管理,但是依然极大的方便了程序员的操作,最直观的好处就是节约变量名(起名字什么的可是很麻烦的)。C++中对结构体进行了全面的升级,它不仅可以包含成员变量,也可以包含成员函数,使得数据与算法可以进一步整合集中管理。 而在C++中除了结构体,还有一种新的数据类型定义的方法——类。在自定义的类中可以定义成员变量,定义成员函数,与结构体的不同使得类能更完美的结合数据与算法,而且使得代码的重用变得更加容易,开发大型软件变得更加简单。 ###3、STL(标准模板库):简化程序设计 C++自带的标准模板库将世界上众多科学家呕心沥血想出的算法和容器整合在一起,有了STL的帮助,可以标准化程序设计,这样就不用重新开发,直接使用现成的组件。 ###存在的疑问 C++中是如何高效重用代码的,大型软件开发的团队协作究竟是如何协调完成的等等。
##模拟电梯作业的总结&收获 第一次进行比较大规模的开放程序设计,对结构化程序设计有了一个较大的认识。结构化的程序设计将一个对象的数据整合进一个模块内集中管理,方便程序员的调用;将一些重复的代码整合为子函数,在主函数中在需要使用这些代码的地方之间调用子函数,不仅使代码更加好看易懂,更重要的是省去了重复编码的时间(写完函数后只需要一句话就能用函数简直爽啊!)。 其次的一点是让我深刻意识到了错误的代码风格和注释习惯对后期代码的查错和维护造成的不利,对于仅150行左右的代码便写的焦头烂额。软件并不是小程序那样解决完问题就可以丢一边不管的东西,它需要随着时间去不断的发展,所以代码的重用性和可再修改性非常重要,对于有一段时间没有了解的代码,要能在非常短的时间内了解到这个程序的思路,某个函数的作用,某个变量的意义,才能快速的修改。扩大范围来说,在团队中一致的良好代码风格显得更加重要,不同的人所负责的代码不同,而编写子程序的人就需要依靠和编写主函数的人约定好的风格编写子程序,才能方便编写主函数的人快速利用子函数,如果没有用通用的代码编写风格,团队的效率便大打折扣,甚至根本无法配合。 其三,想好思路再下手!想好思路再下手!想好思路再下手!上百行的代码推掉重写可是很不爽的,第一次作业简直血的教训啊。
##后记总结 寒假作业也是检验我们自学能力的一场考试。刚看到作业就提出这么难的问题,确实是在考验我们通过自己学习去解决难题的本领。班主任通过寒假作业来帮助我们自学,对于货真价实的知识,从中强化的自学的能力更为重要。
#End