这个作业属于哪个课程 | 2025春软件工程 |
---|---|
这个作业的要求在哪里 | [I.1] 个人作业:阅读和提问 |
我在这个课程的目标是 | 开发可以实际投产的软件项目 |
这个作业在哪个具体方面帮助我实现目标 | 提供理论基础 |
1. 为什么单元测试必须由程序作者来写
《构建之法》p25
但是,正因为作者自己写代码时容易遗漏一些细节,并且自己review时不容易发现这样的问题,写出来的测试也可能不会暴露问题,所以才需要peer review。不过在查询其他资料时也表示单元测试应该由作者自己来写,这真的是最好的实践吗?
2. 结对编程的定义是否正确
《构建之法》p85
作者定义的结对编程指两个人面对同一台计算机,用同一个输入输出设备编码,我同意两个人开发同一个模块并且相互review的做法,但是共用一台计算机是不是不太对呢。
3. 秘密团队还是摆烂团队
《构建之法》p99
此处提到,秘密开发的软件团队有“极大的自由,较高的热情“,然而,这真的不会导致所有人一起摆烂,挥霍投资人的经费吗?毕竟,现在我们已经看到若干在有一定监管下还中途难产甚至跑路的项目了。
4. 每日例会有必要吗
《构建之法》p118
在敏捷开发部分,作者提到了开每日例会的做法。且不论每天能够写多少代码,完成多少功能,每日都需要做PPT想方设法汇报自己今天做了什么真的有必要吗,有没有什么动态的会议时间规划方法呢。
5. PM到底是什么
《构建之法》第九章
在这一章,作者主要通过介绍MS的Program Manager介绍了PM这个职位,在MS的构成中,PM不管人,与团队的其他成员为同等级别的职位。在实际的开发中,PM的职能是什么(是管理除了开发、测试之外的所有杂事;还是总管整个项目的开发进度),PM和其他成员的关系又是怎么样的?