1、培训内容
时间:2018.7.9——2018.7.11
地点:北京航空航天大学计算机学院
内容:
(1)软工经验分享
(2)结对编程
(3)团队编程
(4)AI工具介绍
2、主要搜获
在本环节,我将主要谈论下有关结对编程和团队编程的相关收获。
2.1、结对编程
在结对编程的过程中,我和来自中国地质大学的杨林老师被分到了一组,同时也非常高兴,在编写代码的过程中,杨林老师给了我有些非常宝贵的意见。
(1)类的封装性。在此次结对编程中,我和杨林老师都采用C++语言进行编写。众所周知,C++语言是一种面向对象的语言,其具有一定的封装性。在这次的题目中,需要我们输出一段文字中,字符个数。单词个数以及行数等。在我定义一个整的计算单词的类之后,我继续定义了public变量,其中就包含了单词的个数。行数等信息。杨老师及时指出,这样的编程写法将破坏了C++类中封装性,应该将其设定为private变量,然后通过共有方法调用私有变量,这样才更加稳妥点。
(2)此外,在计算单词频率的时候,我才用map的方法进行存储相关信息,然后,将map的数据进行排序,从而获取单词频率出现最高的前十个信息。我通过调用C++标准库中的sort方法进行排序,然后增加一个cmp选项,使得默认为升序进行排序,但是编译总是报错不通过,后来在杨老师的指点下,成功解决了这个问题。
在结对编程中,通过两个的人合作,远远大于1+1>2的效果,有问题可以随时交流和指正,无疑增加了工作的效率。
2.2、团队合作
培训的第二天便是进行了团队合作的过程中,首先我很荣幸和电子科大的老师以及西北师大的几位助教分在一个组。我们组拿到的题目是有关课程资源分享的,一开始我们以为,题目还是相对easy的,于是便自信满满的开始讨论了。在讨论一段时间后,邹老师便过
来咨询我们组当前的进展,并和我们就课程的需求分析进行了讨论。在和邹老师的讨论过程了,发现了题目并不是我们所想象的那么简单,同时我们也在这个过程中,逐步修改了和重新讨论了我们项目的需求分析。和邹老师重新设定了需求分析之后,我们发现了我们小
组的进度已经慢于其他小组的进展了。
通过这个过程中,我发现:
(1)需求分析需要和用户实际的要求相结合(邹老师就很注重这个问题)。
(2)需求分析真的很重要,通过需求分析,从而指定相应的计划,才能却保你的项目取得成功,正所谓“粮草未动,兵马先行”,需求分析真的很重要,不然重新在设定需求分析,会有点前功尽弃的感觉。
(3)在团队合作的工作中,及时的讨论和交流是非常重要的,如果不能及时的交流和讨论,在项目执行一半后,在交流讨论,这样的修改的代价就很大。
2.3、其他收获
(1)善于表述你的想法,在舞台上能够很好地应对和表达你的思想,真的很重要(像邹老师和李老师第一天的随机应变,做的就很好)。
(2)认识了许多大神,还希望多和厉害的人学习交流,从而提升自己的水平。
最后,非常感谢北航计算机学院提供的这次培训机会,北航的老师、助教、邹老师和周老师,你们为了这次培训付出了许多,辛苦了。