73
社区成员




项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2024年北航敏捷软件工程 |
这个作业的要求在哪里 | [I.1] 个人作业:阅读和提问 |
我在这个课程的目标是 | 学习敏捷开发的思想,学会组织团队,开发出一款有趣的软件 |
这个作业在哪个具体方面帮助我实现目标 | 了解软件工程思想,学会提出问题 |
书中第二章单元测试部分指出代码的作者最了解代码的目的、特点和实现局限性,因此没有比作者更适合的人选。但是因为代码的作者最熟悉代码,他也最可能陷入自己的思维误区。比如在完成程序设计题目时,可能代码大体正确但无法通过,就是因为在作者没有考虑到的部分特殊情况代码处理错误,而如果由作者撰写单元测试这些问题依旧无法被发现。因此我认为作者之外,可能更需要一个了解代码目的的他人来写单元测试。
书中第四章提到,结对编程中任何一段代码都至少被两双眼睛看过,两个脑袋思考过,处于不断地复审过程中,能够及时发现和解决问题。但实际上,代码在撰写时并不完整,领航员很难从未完成的代码中推断出驾驶员所写代码的目的,而直接询问则可能打断驾驶员的思考,同时也会导致领航员顺着驾驶员的话来思考,容易形成同样的思维定式。以我在 acm 时的经历,尽管3人处于结对编程的绝佳实践环境,但我们仍会在代码完成后再进行debug与复审,在写代码时复审是十分困难且低效的。
因此,我并不同意结对编程能能不断复审,及时发现和解决问题的观点。、
书中第九章提到,成为一个合格的 PM 需要能理解用户,从用户的角度看问题,发现用户不善表达的需求。但是,如何才能做到户的视角看问题呢?书上所述PM平时或许能玩转许多高技术的工具,但是当工作需要时能变成完全不懂技术的菜鸟用户,我认为这是极难做到的。我们常有知识的诅咒,指一旦我们自己知道某样东西,我们就会发现很难想象不知道它的时候会是什么样子,比如在我成为我们学校程序设计课程的助教之后,经常会遇到同学们提出一些难以想象甚至匪夷所思的问题,我也很难想象到他们为什么会有这样的问题,也就是无法站在他们的角度。
书中第十一章提到了不同的图形建模与分析方法,我在实际编写代码中使用过其中部分,都遇到了很大的不理解与低效率的问题,甚至使我编码效率远低于不适用这些建模工具,如形式化方法、UML图、ER图等。我认为在编写代码过程中,我们会需要不断对最初的想法进行修改与完善,而在使用图形建模时我们很难注意到在何处需要完善,因此编写代码后又要返回修改模型图,十分繁琐。那么,如何才能更高效地运用这些图形建模工具,来提高编码时的效率呢?
书中第十六章关于创新的迷思之中提到了迷思之五:要成为领域的专家,才能创新。其所举的例子我认为有一系列不合理之处。