软件工程实践寒假作业

062000224刘泓 学生 2023-02-13 21:48:33
这个作业属于哪个课程2023年福大-软件工程实践-W班
这个作业要求在哪里软件工程实践寒假作业
这个作业的目标准备工作、回首过去、立足当下、展望未来、学习路线
其他参考文献《构建之法》

目录

  • 一、准备工作
  • 二、回首过去
  • 专业选择
  • 期待与想象
  • Flag 们
  • 三、立足当下
  • 个人简历
  • 刘泓
  • 个人信息
  • 教育经历
  • 技能清单
  • 项目经历
  • XX中学 秒知项目
  • XX中学&极课成绩查询网站
  • RSSHub
  • 大棚监测系统(数据库实践项目)
  • 四、展望未来
  • 《构建之法》问题思考
  • 问题1:如何区分一个好的程序员和不好的程序员呢?
  • 问题2:单元测试中,如果每次做修改都需要覆盖所有的代码路径带来的维护成本是否会过大?
  • 问题3:单元测试应该谁来写?
  • 问题4:对于一名工程师而言,究竟应该是更”专“一点好,还是更”广“一点好呢?
  • 问题5:极致是否会导致“偏离正道”?
  • 问题6:如何在团队中建立相互信任的关系?
  • 问题7:敏捷开发中是否有必要解决所有bug?
  • 职业规划
  • 对于软件工程实践课程的期望
  • 五、学习路线
  • 思维导图:
  • 学习路线:


一、准备工作

建立一个public代码仓库,使用git上传一个代码文件。

使用 Git 上传文件


代码仓库


仓库地址


二、回首过去

专业选择

自初中以来我便对计算机有浓厚的兴趣,曾经加入了学校的计算机兴趣班学习 Pascal 语言,这算是我计算机的启蒙。

高中以来,我开始学习其他编程语言,开始探索自己最喜欢的方向。我还不拘泥于软件,偶尔也会涉猎硬件知识。

经过三年的探索,我逐渐明确了方向──软件开发,尤其是全栈开发。于是,高考填报志愿时我便毫不犹豫地选择了软件工程专业。

期待与想象

在入学前,我期待着软件工程专业可以让我接触到更多前沿技术,能让我学习更多行业主流技术。

同时,我希望能通过四年的学习与实战掌握业务能力,并亲手做出令我自己满意的项目。

Flag 们

我不是一个喜欢定下长久计划的人,因此我给自己粗略地定下了一个目标:每个学期要利用课余时间学习几门新语言,不求精通,暂求涉猎。我希望能尽快找到我最喜欢的那份技术,并深入学习。

为实现目标,我每个学期都会开几个坑,尝试一边学习一边填坑,逐步提升自己的代码能力。


三、立足当下

个人简历


刘泓

185XXXXXXXX · liuhong@mail.com

个人信息

  • 男,2001 年出生
  • 求职意向:Web 全栈工程师

教育经历

  • 学士,福州大学,软件工程专业,20xx.9~20xx.7
  • 通过了 CET4/6 英语等级考试

技能清单

  • 编程语言:Python, Java, C++, Javascript, Node.js, Rust
  • 开发框架:Bootstrap, Django, Spring Boot, FastAPI
  • 数据库:MySQL
  • 其他工具:Linux, Git, Docker, Postman

项目经历

XX中学 秒知项目

  • 作为校内项目负责人,处理项目任务分配、活动策划与文书工作。
  • 参与主服务器运行维护,负责维护数台小型服务器组成的服务器集群。
  • 组织同学进行软件测试,设计软件新功能。

XX中学&极课成绩查询网站

  • 设计并制作简化学校官网/第三方 APP 成绩查询流程的网站,为用户节省 50% 以上的查询时间。
  • 前端使用 Bootstrap, jQuery 框架,后端使用 Django 框架。
  • 使用 Docker 快速部署后端程序。

RSSHub

  • 创建并维护福州大学教务处与的嘉锡讲坛的 RSS Router。

大棚监测系统(数据库实践项目)

  • 设计 RESTful API,协调组员分工协作,审核后端代码。
  • 设计并编写微信小程序与部分后端代码。
  • 搭建并维护数据库。

四、展望未来

《构建之法》问题思考

问题1:如何区分一个好的程序员和不好的程序员呢?

我认为,一个足够优秀的程序员至少要具备独立解决问题的能力与与他人协作的能力。独立解决问题体现在他可以通过查找搜索引擎等方法来解决当前面临的未知的或较困难的问题;与他人协作则是可以将自己的问题暴露出来、不懂就问的能力。

问题2:单元测试中,如果每次做修改都需要覆盖所有的代码路径带来的维护成本是否会过大?

在我的体验中,由于单元测试具有高度自动化的特性,在一次编写之后,无需人员干涉便可自动对代码进行测试,可以有效地防止修改/新增代码带来新的 bug。

假如项目过于庞大,我会考虑将项目切分为几个互不干涉(解耦)的模块,对每个模块分开编写单元测试。这样在修改某个模块的代码之后,仅需运行对应模块的单元测试即可发现问题,并节约时间。

问题3:单元测试应该谁来写?

我认为单元测试还是应该由编写这段代码的人来完成。

可以参考“测试驱动开发” 的思想,在编写函数之前先写函数的单元测试。

问题4:对于一名工程师而言,究竟应该是更”专“一点好,还是更”广“一点好呢?

作为当今社会的程序员,其任务早已不是局限在我所负责的那一小块内容里。由于敏捷开发的推广,程序员经常变动岗位,可能今天做开发,明天就去做测试了,对知识的需求量很大。

我认为学习开发应当以广为主,并一某一方向专精为辅,才可以更好地发挥作用。

问题5:极致是否会导致“偏离正道”?

我不认为追求极致都会带来“偏离正轨”的后果。

在我的体验中,倘若在编码时不拘小节,例如不写类型、不用异常处理,等到调试的时候将付出编码数倍的时间来修正各种本应避免的问题。

我觉得在编码的时候就尽可能注意每一个细节,虽然可能会多花一些时间,但最终可以有效减少浪费在修改 bug 的时间,综合下来是提高效率的。

在我体验上看,极限测试虽然偏向极端,但只要运用合理,确实可以避免一些比较罕见的 bug。

问题6:如何在团队中建立相互信任的关系?

我认为,团队成员应当毫无保留地将自己遇到的问题将给团队的其他成员听。也许这是别人已经踩过的坑,自己就没有必要再踩一遍。

如果有任何学不来、办不到的情况,也不能在任务分配的时候随口答应,而是要对自己的能力有深刻了解,只接自己力所能及的活,不能等到要交差的时候再说我不行。

问题7:敏捷开发中是否有必要解决所有bug?

在我看来,敏捷开发要求产品迭代速度快、成员压力较大,并没有太多经历关注当前版本下的所有 bug。

可以将一些不太影响用户体验的 bug 留到之后的小版本中修正,而此刻先专心于开发手边的事情。

职业规划

我计划成为一名全栈工程师。随着技术发展,我也许换转向研发 WASM 相关的软件。

对于软件工程实践课程的期望

对于编程语言方面,我认为这应该由我们自学完成。

我更期待这门课能教会我现代软件工程的设计思想、开发团队的协作策略和开发一款完成度高的软件所用到的各种技能,例如编写单元测试、使用 CI、管理多分支多版本的 Git 仓库等技能。


五、学习路线

目前我最想学习的 Rust 语言,想使用 Tauri 框架编写一个能在桌面展示 GitHub 通知内容的插件。

思维导图:

Rust 基础


Tauri 基础

学习路线:

学习路线图

...全文
436 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
郭渊伟 助教 2023-02-22
  • 打赏
  • 举报
回复

是一个目标明确且很有干劲的同学呀,赞

打开链接下载源码: https://pan.quark.cn/s/05da658a2377 在信息技术领域中,输入法作为操作系统的一个核心构成部分,赋予了用户利用键盘输入多语种文字的能力。"ime-日语输入法安装必须文件"这一资源是一套为日语输入法部署而设计、包含全部必要元素的集成包,对于那些需要在个人计算机上执行日语文字输入的操作者而言具有不可替代的作用。接下来将深入剖析其中所包含的核心概念。 IME(Input Method Editor,输入法编辑器)是操作系统内的一种软件支持服务,其功能在于为非拉丁字符环境提供文字输入方案,例如中文、日文、韩文等文字系统。在日本地区,IME通常被用来将罗马字(罗马拼音)形式的输入转换为平假名、片假名乃至汉字。此压缩文件内含的日语IME文件夹即为执行这一转换功能的关键要素。 kbdjpn.dll被视为一个关键的系统性文件,其意指“Japanese Keyboard Layout”(日语键盘布局)。该动态链接库文件负责设定日语键盘的排列方式及快捷操作组合,使用户能够借助常规的QWERTY键盘输入日语文字。倘若缺少这一文件,即便已经安装了日语输入法,依然无法正常显示及输入日语字符。 另外,imjp81k.dll同样是一个重要的系统性构成,它属于日语IME的范畴,全称为“Input Method Japanese for Windows 8.1 and later, Katakana mode”(适用于Windows 8.1及更新版本的日语输入法,片假名模式)。该文件支持日语的片假名输入,是处理日语输入的核心组成部分。在安装或升级日语输入法的过程中,保证imjp81k.dll的准确性与完整性显得尤为关键。 压缩包所含的"Window...
内容概要:本文研究了基于DPWMA调制与正负序分离的ANPC三电平并网逆变器前馈控制策略,旨在解决传统三电平逆变器在谐波抑制、电网不平衡适应性及动态响应方面的技术瓶颈。通过构建融合双极性倍频脉宽调制(DPWMA)、正负序分离锁相控制与电网电压前馈的一体化控制体系,全面优化逆变器的输出波形质量、相位同步精度与抗扰能力。文章深入分析了ANPC三电平拓扑的结构优势,如开关损耗均衡、中点电位可控性强和电压利用率高等特点,并设计了包含信号采集、核心控制与调制驱动三层架构的完整控制系统。通过Simulink仿真平台对稳态运行、电网不平衡及动态扰动等多种工况进行验证,结果表明该策略显著降低了总谐波畸变率,提升了锁相精度与系统动态稳定性,有效增强了逆变器在复杂电网环境下的适应能力和运行可靠性。; 适合人群:具备电力电子、自动控制及新能源并网相关基础知识,从事新能源发电、微电网、电力系统仿真等领域的科研人员与工程技术人员,特别适合研究生及以上层次的研究者。; 使用场景及目标:①用于提升大功率并网逆变器在电网电压不平衡、谐波干扰和动态扰动等复杂工况下的运行性能;②为高电能质量要求的应用场景提供先进控制解决方案;③支持科研仿真、论文复现与实际工程项目中的高性能并网控制系统设计与优化。; 阅读建议:建议结合提供的Simulink仿真模型进行实践操作,重点理解DPWMA调制机制、正负序分离锁相算法与电网电压前馈控制之间的协同作用,按照文档结构系统学习,并与传统控制策略进行对比分析,以深入掌握改进策略的技术优势与实现细节。

688

社区成员

发帖
与我相关
我的任务
社区描述
2023年福州大学软件工程实践课程W班的教学社区
软件工程团队开发软件构建 高校 福建省·福州市
社区管理员
  • FZU_SE_teacherW
  • 张书旖
  • 郭渊伟
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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