软件工程实践寒假作业

本文是一篇关于软件工程实践寒假作业的博客,作者回顾了自己的专业选择历程,阐述了当前技能和职业规划,并分享了阅读《构建之法》的心得。文章还讨论了单元测试的重要性,以及商业价值与开源精神的关系。作者的目标是系统学习软件工程项目开发。
摘要由CSDN通过智能技术生成

闲散贤咸人的博客(软件工程实践寒假作业)

作业基本信息

项目名称项目内容
这个作业属于哪个课程软件工程实践-2023年福大-W班
这个作业要求在哪里软件工程实践寒假作业要求
这个作业的目标1. 提前注册CSDN
2. 加入班级社区
3. 详细阅读作业要求
4. 提前学习markdown语法
5. 阅读《构建之法》
6. 撰写博客,包含以下内容:
作业目录,作业简单描述
回首过去、立足当下、展望未来中的所有问题和要求
思维导图和学习路线
其他参考文献1. markdown教程-Gitcode
2. markdown教程-菜鸟教程
2. Gitcode帮助文档
2. Git入门-Gitcode
2. Git学习-菜鸟教程
2. Xmind绘制思维导图教程

目录

回首过去

当初你为什么选择软件工程这个专业?

当初认为这个专业好就业,万金油。

当初对软件工程这个专业的期待和想象是什么?

花里胡哨的黑客和勤勤恳恳的码农

当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?

跟着学校的教学章程以及培养计划学习。
曾经的flag:考研后找个好工作。


立足当下

我的简历

简历
照片个人信息
姓名余某人性别
学校某知名211兴趣爱好sleep
专业软件工程特长睡觉时间特长
电话号码10086邮箱myemail@168.com
成果和获奖经历nothing
专业水平
掌握的编程语言C,C++,C#,java,python,html,css,javascrip,php,ArkUI(初学)
技术框架Yii2.0,前端框架:自学过React,了解Vue,知道Angular、Svelte,初学javaWeb
开发软件Dev-C++,devecostudio,VS,VS code,PC,IntelliJ IDEA
累计代码量均在数千行以上
项目经历
项目1C++程序实践
项目2Java程序实践
项目3Web程序实践
项目4数据库实践
项目5nothing

展望未来

阅读《构建之法》,并阅读构建之法社区中前人提出的问题,选择5个及以上的问题写下自己的思考。

0.0 我都是大学生了,上课还要认真听老师讲课么?

作为一名大学生,认真听讲仍然是非常重要的。大学课程往往更加深入和专业,老师在课堂上提供的信息、见解和经验分享是书本上所不能完全涵盖的。此外,积极参与课堂讨论也有助于加深对学科内容的理解,提高批判性思维和沟通能力。
认真听讲还可以帮助我们更好地组织学习计划,把握课程重点,从而更有效地进行复习和准备考试。同时,大学老师可能会在课堂上提出一些建议或机会,如研究项目、实习机会等,认真听课可以确保你不错过这些宝贵的信息。
当然,作为大学生,我们也需要培养自我学习的能力,学会独立研究和探索新知识。但这并不意味着可以忽视课堂学习。相反,课堂学习与自主学习相结合,可以帮助你构建更完整和系统的知识框架。因此,即使已经步入大学阶段,认真听讲依然是学习过程中不可或缺的一部分。

1.1 如何区分一个好的程序员和不好的程序员呢?

一个好的程序员不仅要有扎实的编程技能,还要有解决问题的能力,对编程的热爱,持续的学习和适应能力,以及良好的代码质量和可维护性。

1.1 程序员是否有必要为满足小部分人的需求去做软件,或者为软件添加某些功能?

一般来说,如果添加一个功能或满足一个特定的需求不会增加太多的成本,并且这个功能或需求对用户来说非常有价值,那么就应该考虑添加。例如,如果一个软件的主要用户群体是专业摄影师,他们强烈要求添加一个新的滤镜效果,那么这可能是一个很好的想法,因为它可能不会增加太多的成本,而且会对用户产生很大的影响。
然而,如果添加一个功能或满足一个特定的需求会增加大量的成本,或者这个功能或需求只对一小部分用户有用,那么就应该谨慎考虑。例如,如果一个软件的主要用户群体是普通用户,但他们要求添加一个非常专业的编辑功能,那么这可能不是一个好主意,因为这可能会增加大量的成本,而且只会对少数用户有用。
总的来说,决定是否添加一个功能或满足一个特定的需求,需要考虑的因素非常多,包括但不限于用户需求、成本、资源、时间、风险等。因此,程序员在做决策时,需要全面考虑这些因素,以确保做出的决定是最符合公司和用户利益的。

2.1 如何提高单元测试的覆盖率(尤其是对于经验不足的新人)?

首先,你需要有一个明确的测试计划和目标。这个计划应包括想要测试的代码部分,以及希望达到的测试覆盖率。这将帮助保持专注,并确保测试工作是有目标的。
其次,编写测试用例是提高测试覆盖率的关键步骤。应该为每一个函数或方法编写测试用例,确保每一行代码都被测试到。记住,测试用例应该是全面的,包括正常情况和异常情况。
有许多工具可以帮助你进行单元测试,比如JUnit、TestNG、Mockito等。选择适合的工具,可以使测试过程变得更加容易和高效。
如果你的代码结构混乱,那么测试覆盖率可能会受到影响。因此,定期重构代码,使代码更加清晰和易于测试,是非常有用的。
提高单元测试覆盖率需要时间和实践。可以阅读一些优秀的测试代码,看看别人是如何编写测试用例的,也可以参加一些测试训练营或者研讨会,提高自己的测试技能。
最后,记住测试覆盖率只是一个指标,真正重要的是代码的质量和可靠性。因此,你应该持续改进测试策略和方法,确保代码能够满足业务需求,并且是高质量的。

7.1 商业价值与开源精神是否矛盾?

商业价值和开源精神并不一定矛盾。事实上,许多开源项目和公司已经成功地实现了商业价值和开源精神的结合。
开源精神强调的是开放、透明、合作和共享的原则,它鼓励开发者共享代码,通过社区的力量共同改进和创新。这种精神在很多情况下可以推动技术创新,降低开发成本,并建立强大的用户基础和开发者社区。
商业价值则是指产品、服务或公司能够为股东、客户和其他利益相关者带来的经济价值。在开源环境下,公司可以通过提供咨询、培训、定制开发、技术支持等服务来实现商业价值。例如,开源数据库公司MySQL AB和Red Hat就是通过这种方式实现了盈利。
然而,商业价值和开源精神也可能产生冲突。例如,如果一家公司为了追求利润而牺牲了开源项目的质量或公平性,那么它可能会受到社区的抵制。同样,如果一家公司过于依赖开源项目而忽略了自身的研发和创新,那么它可能会失去竞争力。
因此,要在商业价值和开源精神之间找到平衡点,需要公司具有清晰的目标、良好的策略和强大的执行力。同时,也需要公司和社区之间建立良好的关系,共同推动开源事业的发展。

你未来的职业规划是什么?

web前端,程序架构师,测试员,或者向人工智能方向发展

对于软件工程实践课程,你有什么理解和期望?

想更加系统的学习软件工程项目的开发


思维导图和学习路线

思维导图

在这里插入图片描述

学习路线

在这里插入图片描述

附录

上传截图

在这里插入图片描述

仓库地址

我的GitCode代码仓库

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值