软件工程结对项目感想
项目 | 内容 |
---|---|
班级:北航2020春软件工程 | 2020春季计算机学院软件工程 |
作业要求 | 2020BUAA软件工程结对项目作业 |
作业地址 | 软件工程结对项目作业 |
得知自己的结对项目获得黄衫奖励的唯一心情就是难以置信,甚至向助教反复确认分数是不是算错了,在看到分数统计后,发现得分高是因为程序而不是因为博客就更震惊了,因为本人是真的很菜,编程能力和之前的各种专业课的分数都不是很好(不是卖菜,是真的)。关于具体的程序思路在作业博客里已经讲的很清楚了,也已经有很多大佬讲过软件工程流程的具体建议,我就不再重复说这些东西了,在这里就说一些感性的鸡汤感想吧。
其实面对在一门新的专业课中取得优秀成绩的目标,无论在此之前的技能水平如何,所有同学都在同一个起点上。课程组布置的作业也许要求繁复、难度较高,但并非是完全不可能完成并做好的。在前面学期的专业课中,我常常会产生畏难情绪,或是被周围人的情绪影响。可能有时会觉得“别人也觉得难,所以我做不到无所谓”或是“我就是这么菜,所以我做不到无所谓”。但这学期的这门专业课有两个重要的不同点。
一是今年由于疫情关系只能居家学习,和同学交流较少,不了解别人的具体进度,反而能沉下心来把难点一道一道地啃下来。能抛去浮躁,全面地按自己的想法进行测试,而不是先去问别人,从别人那里获取测试点。不过,沟通交流当然是必要的,在我作业博客的评论区里就谈到了这个教训。最重要的还是要保持好自己学习和工作的节奏、不要被别人的进度和情绪影响,以及要相信自己的能力,有和问题“死磕”的耐性。
二是结对作业和团队项目的特殊性,你必须要对队友负责,因此必须把程序的质量打磨到最好,包括程序的正确性、可读性。因为写出的代码不仅要给自己看也要给别人看,我在结对项目中可以说是写出了人生中看上去最美观的代码。结对队友能够无障碍通过阅读代码了解我的编程思路,不用再向我询问这段代码是在干什么,极大地提升了团队工作的效率。
现在距离完成结对项目作业已经过去了三个多月,一些具体的技术诸如如何编写GUI界面、如何打包dll库、如何计算圆与直线的交点坐标早已忘得差不多了,而给我留下印象最深刻的却是那些在课程一开始觉得并不重要的“形而上”的软件工程的理论和看似夸夸其谈的编程方法。
比如,在实际编码前,先进行充分的设计和对设计方案的选择评估,能让软件的编写效率和编写结果有质的飞跃。在团队项目中,由于使用的是新接触的编程语言,前期的试错比较多,在编程中逐步完善设计。但是在结对项目中,要求使用的是我们已经非常熟悉的C++语言,而解决的也是一个看似普通的几何计算问题,而且无论是个人项目还是结对项目,所给的作业时间都非常充足(只要别在ddl起舞)。所以,在个人项目中,我大约花费了将近一周的时间去考虑如何架构(有意义的摸鱼),然后再动笔编码。这个架构也直接搬到了结对项目中,应用得非常成功。设计没有最优解,也许在我眼中已经是非常努力之后得到的结果还是不如大佬的精巧优雅,但是花费时间去努力总是值得的,如果不动手亲自试一次,可能无法体会到方法的改进能对效率有如此大的提升。
关于本学期软件工程课,最重要的感想是一切投入的时间都会有意义,要写让自己问心无愧的代码。
黄衫照片
(看大家放的都是正面照片,那我展示一下衣服的背面吧)