一.请回顾这5个问题,自己回答一下。当初的困惑是否还在,你现在如何认为,是更深的困惑么?
Q1.书中提到“在结对编程中,因为有随时的复审和交流,程序各方面的质量取决于一对程序员中各方面水平较高的一位”。我的问题是:是否要在结对成员选择上,刻意区分出"一强”和“一弱”进行结对呢?
答:经过一学期,这个问题在我心中终于有了理想答案。结对成员分工合作,相互帮助,不分谁强谁弱。合作中秉持"you can you up"的原则,不相互推脱,有问题及时沟通,快速决定解决方案,完成任务。
Q2.什么是好的代码规范和设计规范?
答:杨老师在这学期也反复提到代码规范的重要性,并表示:凡代码不缩进,格式不对的一律拒绝接收。事实表明,好的代码规范并非要求,而是基本标准。
Q3.不应该根据学生的具体情况来教学吗?
答:刚开始突如其来的作业压力,使同学们都难以接受如此大的工作量,老师虽说并不会因为我们的诉求而改变。可在之后一周周的进程中,明显感受到,老师循序渐进、时刻督促。明面上看,老师似乎并没有明确表示根据学生水平,做教学调整。可我们却能明显感到,老师对我们的要求并非古板苛刻,督促+鼓励+刺激让我们在自己能力范围内紧跟教学进度,事实也证明,我们大多数人都跟上了。
Q4.难道一定要达到一定的工作量,才能做到“身心投入”吗?
答:杨老师让我们记录每周PSP&进度条,原本对此是没有什么概念的,只把它当作业来对待。可经过持续十周的记录,明显感觉到对工作量可以量化的感受,且可以在有限时间内,计划安排自己的时间。当然,想要“身心投入”就肯定会有相当的工作量与之对应,PSP的数据便是最好的说明。
Q5.这本书应用于所有的所有的学校情况吗?
答:经过一个学期的学习,从效能分析到敏捷开发,从结对编程到团队合作,从敏捷开发到代码托管等方方面面深入到我们的项目中,也沟通起《构建之法》这本书的整个体系。软件工程这门课不单单是教会我们编程,而是教会我们工程思想。我觉得任何学校或任何学生通过这本书的学习和课程的贯彻,都会受益良多。
二.回忆整个学期,你有什么话想对后来的学弟学妹们说?
首先,反抗是没用的,哈哈。其次,一定要时刻紧跟杨老师的步伐。最后,只要付出了足够的时间和工作量,肯定会有收货和回报。
说实话,这个学期绝大多数时间都用来完成软件工程这门课程的作业。起初,很不理解为何老是要布置如此大的工作量来让我们完成,还制定了非常严苛的分数标准。现在再来看,不仅学习上需要严谨,社会工作上,没有人会为你低级的错误承担责任,你必须保证你需要完成的工作没有差错,这是基本。其次,再去考虑怎么出色的完成。很惭愧,我并没有很好地完成杨老师布置的每项任务,但至少付出了很多努力,也有进步吧。希望学弟学妹们,能认真负责地对待软件工程这门课。
三.如果重新来过一次,你打算做哪些(技术上,而不是态度上的)改变--基于希望得到什么样的更好结果,你才希望这样改变的;更重要的是,你根据什么估计这些改变会有预期的结果?
如果重新来过一次,我希望自己在项目开始前就能至少熟练掌握一门编程语言,这样的话更利于团队项目的进程,也更有利于软件工程这门课程的学习和理解。因为在我们团队的项目进行中,由于没有有经验的编程人员,给项目带来了很多不便和压力,边学边做会增添很多时间成本。
四.想对杨老师说的话。
杨老师真的要爱惜自己的身体,不要再半夜两三点还在批作业了。杨老师一直强调,对同学们并没有感情的付出,所以并不会对我们的好坏而感到任何开心或失望。可能我还做不到不带感情地对待人和事,这一点上应该多向杨老师学习,理智看待人和事,做好自己。希望杨老师在之后的教学中,能多听听同学们的诉求,这样才会更加促进课程的进程。(PS:我个人觉得其实杨老师已经对我们很仁慈了。)
五.新的五个问题。
Q1.提升职业技能和提升技术技能哪一个更重要?
Q2.是否应该完全从用户体验的角度来设计项目?
Q3.对工作进行量化是否有助于质的提高?
Q4.技术和创新哪一个是评判项目好坏的重要标准?
Q5.团队中的领导者,在技术能力和管理能力上,哪方面更强才能更有利于团队的合作和进程?