个人作业:阅读和提问

21371163-洪陈天一 2024-03-10 23:53:05

个人作业:阅读和提问

项目内容
这个作业属于哪个课程2024年北航敏捷软件工程
这个作业的要求在哪里[I.1] 个人作业:阅读和提问
我在这个课程的目标是学习敏捷开发的思想,学会组织团队,开发出一款有趣的软件
这个作业在哪个具体方面帮助我实现目标了解软件工程思想,学会提出问题

问题1 单元测试必须由最熟悉代码的人(程序的作者)来写吗?

书中第二章单元测试部分指出代码的作者最了解代码的目的、特点和实现局限性,因此没有比作者更适合的人选。但是因为代码的作者最熟悉代码,他也最可能陷入自己的思维误区。比如在完成程序设计题目时,可能代码大体正确但无法通过,就是因为在作者没有考虑到的部分特殊情况代码处理错误,而如果由作者撰写单元测试这些问题依旧无法被发现。因此我认为作者之外,可能更需要一个了解代码目的的他人来写单元测试。

问题2 结对编程是否能不断复审,及时发现和解决问题

书中第四章提到,结对编程中任何一段代码都至少被两双眼睛看过,两个脑袋思考过,处于不断地复审过程中,能够及时发现和解决问题。但实际上,代码在撰写时并不完整,领航员很难从未完成的代码中推断出驾驶员所写代码的目的,而直接询问则可能打断驾驶员的思考,同时也会导致领航员顺着驾驶员的话来思考,容易形成同样的思维定式。以我在 acm 时的经历,尽管3人处于结对编程的绝佳实践环境,但我们仍会在代码完成后再进行debug与复审,在写代码时复审是十分困难且低效的。

因此,我并不同意结对编程能能不断复审,及时发现和解决问题的观点。、

问题3 如何才能站在用户的角度看问题

书中第九章提到,成为一个合格的 PM 需要能理解用户,从用户的角度看问题,发现用户不善表达的需求。但是,如何才能做到户的视角看问题呢?书上所述PM平时或许能玩转许多高技术的工具,但是当工作需要时能变成完全不懂技术的菜鸟用户,我认为这是极难做到的。我们常有知识的诅咒,指一旦我们自己知道某样东西,我们就会发现很难想象不知道它的时候会是什么样子,比如在我成为我们学校程序设计课程的助教之后,经常会遇到同学们提出一些难以想象甚至匪夷所思的问题,我也很难想象到他们为什么会有这样的问题,也就是无法站在他们的角度。

问题4 如何高效运用图形建模工具

书中第十一章提到了不同的图形建模与分析方法,我在实际编写代码中使用过其中部分,都遇到了很大的不理解与低效率的问题,甚至使我编码效率远低于不适用这些建模工具,如形式化方法、UML图、ER图等。我认为在编写代码过程中,我们会需要不断对最初的想法进行修改与完善,而在使用图形建模时我们很难注意到在何处需要完善,因此编写代码后又要返回修改模型图,十分繁琐。那么,如何才能更高效地运用这些图形建模工具,来提高编码时的效率呢?

问题5 “迷思之五:要成为领域的专家,才能创新”

书中第十六章关于创新的迷思之中提到了迷思之五:要成为领域的专家,才能创新。其所举的例子我认为有一系列不合理之处。

  • 首先是阿里巴巴的例子,书中说”B2B网站做的最好的是阿里巴巴,它的创始人是学计算机、互联网专业的么?”,我也以此反问,提出B2B创意的是阿里巴巴的创始人吗?我并未找到相关资料。
  • 书中说语言专家认为Walkman不合理,Walking Man才正确,但Walkman大火,值得庆幸没有采用Walking Man。但是,Walkman大火只能说明Walkman大火,并不能说明Walking Man不会更火。
  • 另外,书中说统计数据表明70%创新者的创新是在拿手领域以外发现的,这样的不知名统计是否可靠呢?
...全文
106 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

73

社区成员

发帖
与我相关
我的任务
社区描述
2024年北航敏捷软件工程
软件工程团队开发结对编程 高校 北京·海淀区
社区管理员
  • clotho67
  • Yeyanhan
  • HJin_Gwok
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧