白驹过隙,悄然已乎。从寒假就开始的面对对象程序设计,在最后的考试周落下了序幕。在期待中开始,在遗憾中结束,感慨如下,不给赘言。
本学期通过博客作业学习所得
1、从面对过程的C++编程逐渐有了基于对象编程的影子,再到最后能理解好一些面对对象的编程知识。(尚无自信敢言打出了面对对象的程序)
2、命令行的学习。算是弥补了之前知识的一个遗憾(在命令行学习的博客中有提及)
3、计算机的终身学习是真的,为了不被时代淘汰,要保持着不断学习的知识。因为博客作业布置的很多方面,之前都没有想过会去接触,涉及到了一些不怎么关注的方面,所以很多都是从零开始。
电梯、团队作业遇到的最大问题
电梯作业:
1、工程代码与算法代码的区别。工程代码的无AC性,需要根据需求不断地改进,经常改得十分急躁。电梯来来回回写了近千行的代码,仍无法到达理想构想时的疲惫和绝望,真的很折磨人。
2、理想架构和现实实现的差异。说简单点,就是眼高手低,想得美滋滋,码得惨兮兮。清晨、下午、傍晚、夜晚的努力,还是没有得到自己理想的电梯,即便是网上所提供的一些方法,个人也不是很感冒,觉得可能对于电梯的理解不太同。对于电梯理解,个人比较重视轻重缓急,在理想中希望能够使得电梯更加智能。
(1)依据当前时间判断哪些楼层的价值较高。
(2)根据各楼层的需求人数判断较高价值楼层。
(3)如何运行使得更加节能。
当然,以上的想法,我一个都没有能够实现,曾经想过实现过第一,但是觉得在作业中比较并没有什么意义(因为题目也没有给参数),当然在实际生活中意义非凡,至少我是这么觉得的(上下班高峰期,对于上班族所在楼层价值加高,这显然还需要收集一定的数据)。当然,也想过第二,在网上也找到了相关的代码(悔不当初没有收藏,忘了搜的什么关键字,至今没有找到,但是清楚地记得是写模拟写帝国大厦的电梯运行),也只是关注了一下代码,因为之前的编码说明不知所云。
团队作业:
1、如何编写游戏客户端。被分配到写客户端非常激动,因为是main
函数,也就是说整个游戏怎么动都在我的掌控之中,运筹帷幄的感觉,很好。但是接踵而至的是,对于这块知识的完全空白,不管是概念还是代码,尽管看了很多博客学习,但是个人感觉这些博客对于初学者并不友好,讲得大多是可以出版的游戏的客户端的编写的概念。我真的去学习了,我也真的没学到什么(太过专业,不适合新手入坑,如果概念算的话,还是有一些的)。我记得我之前的客户端学习博客说学习到了不少,为何在这篇博客又说没学习到什么?会在下面的第三部分说到。
2、各队友的协作和各部分代码整合。设想得太过美好,每个人把自己负责的类写好,最后和我探讨一下参数问题,以及一些小小的改动,王者光耀就横空出世了。结果,发现我们的协调和代码整合并不如意,我觉得很大一部分原因是因为大家都是第一次接触这种形式的编程,不是很懂,也不是很规范,光靠网上的资料自学摸索,企图采分头编写,最后统一整合的模式不现实,应该同时进行,不断讨论修正。
3、客户端到底应该怎么写。从开始写客户端,到最后什么都没有写出来。我还是不知道客户端到底要写什么,我知道写的是游戏过程,我也知道游戏的规则,但是我到底要写什么,一堆的if
?那客户端也太刻板了,完全没有美感可言,桎梏已陷,大厦崩塌。所以说网上的博客只介绍概念对于新手完全不够友好,说实话应该举一些简单的例子(非工程事例),看完之后信心满满,我一定可以写出一个绚烂美丽的客户端,到最后,我到底要写什么?所以上篇博客的评论,我都不知道怎么回复,因为真的不懂,不知道如何回复。(回复的每个词我都懂,但是这直击内心的拷问,我真的不知道怎么编写)
电梯、团队作业的改进或完善:
电梯:满满实现上述描述中的一些方面(当然最好全部实现,当然以我现在的水平也是知道不可能的,但是还是希望有机会,至少能看到能够实现上述功能的电梯的代码,学习一下到底差在哪些方面,也知道不可能只是编码方面)
团队:把我负责的客户端真的写出来,去了这个莫大的遗憾,看看我们队伍的光耀做出来是个什么样子。
重构:
电梯:其实,每次电梯我几乎都是重新编码的,现在想想很是后悔,电梯的编码让我很是头大,因为眼高手低,想得很高,完全做不到的失落太伤人。如果能够重构,肯定还是会去,但是还是力不从心,因为寒假的重构已经把我打倒了,虽然不服,但是真的被打倒了,想得太高了。所以写的都是降了好多档次的版本,虽说经历了这门课的磨练,但是感觉要实现上述功能,现阶段还是不现实,但是有自信极大地简化之前的编码行数。
团队:都没实现出来,没有什么重构可言。
体会:
C++这个C的超类,确实很厉害,很多便利的功能,很多强大的功能,受益匪浅,不管是慕课还是上课,不管是博客作业还是PTA。说实话,我个人自己先前对于工程的兴趣并没有多浓厚,因为感觉工程代码的编写会很无聊。接触完这门课之后才发现,其实并没有想象得这么无聊。因为当自己写出的代码,变成了实际的产品,活了起来的成就感,真的让人容易满足。
对于课程实践作业形式的看法、建议:
1、寒假作业:形式好,但是建议选择的题目应该简单一些。(之前据说是计算器,到了我们变成了怎么都写不好的电梯),我没有贬低计算器的意思,但是个人觉得编写计算器和编写的电梯,真的不是同一个档次的东西。
2、需要学习和开通的东西真不少,有些很好,比如 github 和博客园,PTA也是不错的。但是PTA里面的题目,希望筛选一下,有些完全一样仅仅题目,然后从函数题变成编程题,或者从第一题变成第三题之类的就不要出了;还有就是一些实现功能大同小异,而且没有坑的同类题目也不用一次作业出到三四次之多。
3、博客作业:很喜欢,能够培养自主学习的能力,个人觉得对于今后步入业内很有帮助,如果硬说建议,就提高一下在期末成绩的折算比重吧,因为花费的时间也不在少。
4、团队作业:能够实现协作的模式,相信之后的工作肯定是团队的形式,肯定需要协作和交流,培养一下这种做出产品的感觉很是不错。
小结:C++来得太晚,又走得太快,挺有意思的一门课,相信如果是对工程感兴趣的同学会比我觉得更有意思。虽然C++的课程结束了,但是对于C++的学习并没有停止,至少我STL的源码还没看完和理解(自我感觉需要看的一点部分,只是STL的冰山一角),希望下次再写关于C++的博客自己能够更上一层楼,至少要看完自己想看的STL源码和写出所希望的面对对象的程序。
回首凝视,不负韶华;凭栏远眺,不改初心。前路漫漫,求索不断;朝花夕拾,夜饮佳酿,醒复醉。