最后一周总结

最后一周总结

回顾你的课程计划 (第一周的计划), 你完成的程度如何?请列出具体数据和实际例子

计划希望自己的coding能力得到锻炼。我觉得通过这么多项目,自己的coding的能力和代码质量都有了提高。比如网页前端的编写,是从0到1的过程。

你在课程开始快速浏览了《构建之法》,提了 5 个问题, 请回顾那些问题, 自己回答它们。如果不能回答,为何软件工程课不能让你回答这些问题?

  1. 这些思维误区似乎是非常普遍的通病,每个人在写代码的时候都能遇到其中的情况。但是,1. 怎样确切的定义遇到的问题?比如,什么时候能够知道自己过早的优化了呢? 2. 怎样能够有效解决,并且培养防止进入误区的能力呢? 除了努力多写代码这样非常通用的答案以外,有什么特殊的好方法吗?

    经过软件工程课的实践,我觉得软件工程师的这些思维误区还是很常见的,自己就犯过一些错误。能够防止进入误区是一种很高级的能力,没有“银弹”之说,除了事先打好预防针,牢记教训,就是多积累经验了。

  2. 个人觉得,这些对待职业的态度其实没有什么高下等级之分。能够以应有的职业态度做好自己的工作,是基本的职业素养和要求。至于当前的工作是不是属于自己长远的目标,或是自己投身的事业或理想,完全因人而异。职业之外,还有更广阔的舞台。

    我觉得这个观点没有表达明确。我想说的是,以职业的态度对待职业,是基本的素养和要求。职业之外,比如一个人的进取心,是否把当前职业当作事业,亦或是理想,完全是因人而异,没有道德上的高低之分。

    但是,想要在职业中取得超人的成就,态度还是很重要的。

  3. 不断轮换角色是否是结对编程的一个必要要求? 在结对编程的过程中,是否会出现有一个人特别适合当驾驶员,另一个人特别适合当领航员的情况?我在和同学交流的时候得知了有这样的情况,两个同学各司其职,效率非常高。

    这个问题没有得到解答,我在结对编程的事件中是轮换角色的。我也看到别的组有一直当驾驶员,另一个一直当领航员的情况,合作也非常好。在我看来还是因人而异,轮换角色也是出于结对编程效率的考虑。

  4. 这一章介绍了很多的团队模式和流程,但是,似乎大家都没有一个通用的模式,只有一些很显然正确的准则来参考。当我们运用的时候,如何选取合适团队组织模式和开发流程呢?当我们发现有哪里不合适的时候,如何有效的获取反馈并且及时调整呢?

    选取团队组织模式和开发模式需要团队成员在项目开始前进行讨论,考虑项目本身和团队的情况。调整需要PM或者团队成员关注开发和沟通效率,并及时反馈。

  5. 读完这一段,感觉 PM 完全成为了团队最重要的主心骨,开发人员没了 PM 完全不转。这是否是一件好事?当PM遇到问题,不能胜任或者决策出现偏差,团队该怎么办?

    团队过于依赖PM肯定不是好事。我绝对团队的沟通协调不能完全依赖PM的调度,团队成员之间也需要有适当的沟通,保证除了PM之外,有另外的团队成员大致知道每个成员的工作。当PM遇到问题的时候,肯定就是靠其它成员,大家开会讨论决策了。

看看还有什么新的问题产生,请列出来,建议列出 2-3 个新问题。 可以让老师和助教来回答

暂时没有什么新的问题。

你看了一些软件工程的文献, 你的团队也做了一两次 “事后诸葛亮”分析, 可以再去看一遍,现在有什么新的感想?

感想主要有两点。第一,事先的计划非常重要,要把计划这一步算到开发的时间规划里面去,而不是占用额外的时间(这样往往计划的不好)。第二,开发的时候要先完成项目的里程碑,在每一个里程碑的环节,项目产品要具备一定的完备性。不能在一个里程碑完成之前,就急着赶后面的进度,这样会有很多bug和意料之外的问题。

对比一些技能评价表,你有什么提高? 还有什么收获是不能用数字衡量的?

我觉得通过这门课,主要的提高在 Personal Software Process 和 Programming: Code Review/Code Quality。不能用数字衡量的就比较多了,比如对软件工程的理解,团队项目的经验等。

设想一年之后, 你到了你职业发展的下一个阶段(高年级, 读研,工作),回头看这门课, 你对于这门课的教学方法, 老师和助教的工作,和其他课程的衔接,有什么意见和建议?

这学期的课程有点太偏AI了,可以加入一个系统方向的project。

原文地址:https://www.cnblogs.com/yizhuoz/p/10297628.html