个人阅读作业-阅读和调研

项目内容
这个作业属于哪个课程2024年北航敏捷软件工程社区-CSDN社区云
这个作业的要求在哪里[I.1] 个人作业:阅读和提问-CSDN社区
我在这个课程的目标是学习软件工程的理论知识和流程,在团队合作开发中锻炼自己的代码能力和软工思维
这个作业在哪个具体方面帮助我实现目标理解软件工程的概念和流程,对软工的理论知识有了初步认知
1.代码的作者是否是编写单元测试者的最合适人选?

本书2.1节中提出:

代码的作者最了解代码的目的、特点和实现的局限性。所以,写单元测试没有比作者更适合的人选了。

但不妨思考一下,写单元测试的最适合的人选是否一定是代码的作者呢?首先代码的作者对于自己的代码可能存在着主观偏见,因此他们可能会更倾向于测试已知的代码路径和预期的行为。其他人可能会有不同的视角和想法,从而带来更全面和客观的测试覆盖。同时,作者编写的单元测试可能会受到他们对代码的假设和盲点的影响。他们可能会假设某些情况下代码的行为,而忽略了一些边缘情况和错误路径。其他人可能会更容易地发现这些被忽略的情况。通过由其他人编写的单元测试,可以进行代码审查和交叉验证,从而提高代码质量和稳健性。多样化的视角和经验可以带来更丰富的反馈和改进意见。因此,虽然作者可能是写单元测试的一个适合的人选之一,但并不意味着没有比作者更适合的人选了。团队应该鼓励多样化的参与,以确保单元测试的全面性和质量。

2.结对编程是否会提高效率?

在结对编程模式下,一对程序员肩并肩地、平等地、互补地进行开发工作。两个程序员并排坐在一台电脑前,面对同一个显示器,使用同一个键盘,同一个鼠标一起工作。他们一起分析,一起设计,一起写测试用例,一起编码,一起单元测试,一起集成测试,一起写文档等。

这种结对方式我认为存在一定的弊端。首先两个人的交流确实会在一定程度上为对方提供一定的思路和想法,从而使代码的设计开发更为全面,但当二人意见不一致的时候可能会产生争议,达成一致后才可进行下一步工作,增加交流和决策的时间,导致开发速度变慢。同时如果两个程序员之间的技术水平差距较大,可能会导致较强的依赖性,技术较强的程序员可能会承担更多的工作,而技术较弱的程序员则可能倾向于依赖他人。并且看似二人的交流会促进新想法的产生,但一方程序员可能会倾向于依赖另一方的思路和想法,导致自身的独立思考能力受到限制,这可能会影响该程序员的创造力和创新能力。因此结对编程模式虽然有其优点,但也存在一些弊端,需要在实际应用中进行权衡和考量。

3.软件开发是否只需要理性地工作?

著名的艺术家 Chuck Close 说∶“ 我总觉得
灵感是属于业余爱好者的。我们职业人士只是每天持续工作。今天你继续昨天的工作,明天你继续今天的工作,最终你会有所成就 ”

私以为激情和灵感亦是工作中不可缺乏的部分,日复一日按照流程理性工作可能会导致激情和灵感的缺失。激情和灵感也是驱动创新和创造力的重要因素。激情可以激发团队成员的积极性和动力,使他们更加专注于解决问题并实现目标。灵感往往会带来创意和创新,这对于软件开发来说至关重要。在面对复杂的问题和挑战时,创意和创新能够帮助团队找到更好的解决方案,并不断提升产品质量和用户体验。持续工作并不意味着一定能够取得成就,关键在于工作的质量和效率。充满激情和灵感的工作状态往往可以提高工作的质量和效率,而仅仅是机械地持续工作并不一定会产生良好的结果。

4.关于“赢者通吃”

赢者通吃
这个游戏规定第一名得到全部的分数,第二名(不管多接近)到倒数第二名都是0分,最后一名还要倒扣分。软件行业就是一个赢者通吃的环境,最后一名还要把自己的身家倒贴进去。

虽然软件行业竞争激烈,但并不意味着只有“赢者通吃”的局面。在实际情况下,很多时候公司之间会进行合作,共同推动行业发展,实现共赢的局面。例如,开源社区的发展就是一个典型的合作共赢的例子。软件行业是一个创新驱动的行业,创新往往来自于多样性和竞争的环境。在一个多元化的生态系统中,各种不同规模和定位的企业都有机会发挥自己的优势,共同推动行业的进步。软件行业的长期发展需要考虑到社会责任和可持续性发展,单纯追求“赢者通吃”可能会导致资源的浪费和不公平竞争。因此,企业应该追求长期的发展目标,而不是仅仅关注眼前的短期利益。

软件行业并非完全是一个“赢者通吃”的环境,合作共赢、创新多样性、人才团队和长期发展都是行业健康发展的重要因素。

5.软件工程师是否必须将工作视为造福社会的使命并获得大众认可尊重

软件工程师必须承诺自己所从事的职业能造福社会,并得到大众认可尊重。

每个人都有权利选择自己的职业和生活方式,而不应该被强加道德责任或社会期望。软件工程师也应该享有自己选择工作内容和发展方向的自由,而不必一定将其视为造福社会的使命。社会认可和尊重是一个主观的评判标准,不同人对软件工程师的工作价值和贡献的看法可能有所不同。即使软件工程师为社会做出了贡献,也不一定能得到广泛的认可和尊重。虽然软件工程师的工作可能会对社会产生积极影响,但并不意味着他们必须将其视为一种使命,并始终追求大众的认可和尊重。个人选择和自由、职业多样性和专业需求、工作内容和职责限制以及社会认可和尊重的主观性等因素都需要被充分考虑和尊重。

  • 31
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值