重庆市网站建设_网站建设公司_AJAX_seo优化
2025/12/28 19:15:48 网站建设 项目流程

一、学期回顾

1.1 回顾你对于软件工程课程的想象

在正式选修软件工程课程之前,我对这门课的期待主要集中在“复杂业务逻辑的工程化实现”以及“团队协作背景下的完整开发流程”这两个方面。相比以往偏重算法或单一功能实现的课程,我更希望通过软件工程课程,接触到接近真实产品的需求场景,理解在多人协作、需求不断变化的条件下,如何设计、实现并维护一个可持续演进的软件系统。

从整个学期的学习和实践情况来看,这一期待在很大程度上得到了满足。在团队项目“综合学习与咨询平台”中,我主要负责博客详情页、评论系统以及 Markdown 渲染相关功能。这些模块都属于典型的业务逻辑复杂、边界情况多、与其他模块强关联的部分,使我不再只关注“功能能不能跑”,而是必须思考“结构是否合理”“后续是否好扩展”“和其他模块是否存在潜在冲突”。在这个过程中,我逐渐体会到软件工程中设计先于实现的重要性。

当然,也存在一定不足。比如在项目早期,我对整体系统架构和其他模块的依赖理解不够充分,更多是从自身模块出发进行设计,导致在后期联调时需要反复修改接口和数据结构。这也让我意识到,未来在类似项目中,应当更早参与整体方案讨论,从全局视角出发思考问题,而不是只站在个人模块的角度。


1.2 回顾你在这门课程中的投入与产出

  • 在软工实践课程当中本人累计编写代码约 3800+ 行
  • 在团队项目中参与了 “综合学习与咨询平台” 的设计与开发,在其中主要承担 博客详情页、评论系统、Markdown 渲染模块的前端开发角色
  • 软工实践的各次作业花费时间如下:
作业 花费时间
第一次团队作业 4 h
第二次团队作业 6 h
第一次团队项目作业 15 h
第二次团队项目作业 18 h
第三次团队项目作业 21 h
第四次团队项目作业 23 h
  • 在软件工程课程上花费的时间:
累计时间 实际周均时间 预计周均时间
87 h 6 h 5 h

1.3 令你印象最深刻的是哪一次作业或哪一场答辩?为什么这次作业或这场答辩令你印象深刻?

令我印象最深刻的是第三次团队项目作业及其对应的阶段性答辩。这一阶段项目已经完成了主要功能拆分,各模块开始进入深度实现和整体联调阶段,系统的复杂性迅速上升。我负责的博客评论系统在这一阶段暴露出了大量在单模块开发时难以发现的问题。

评论系统不仅涉及评论的发布和展示,还包括分页加载、嵌套回复、样式区分以及与博客详情内容的联动。在联调过程中,我发现一些早期设计的接口并不足以支撑后续功能扩展,例如对多级评论的数据结构考虑不够全面,导致在渲染嵌套回复时逻辑变得异常复杂。为了保证系统稳定运行,我不得不对原有实现进行重构。

这次作业让我深刻体会到,软件工程中的难点往往并不在“写代码”本身,而在于前期设计是否具有前瞻性。答辩过程中,老师对我们模块设计合理性的追问,也让我更加清晰地认识到工程思维的重要性。


二、总结收获

2.1 展开说说你的软工实践故事

在整个软件工程实践过程中,我的主要工作集中在博客模块,尤其是博客详情页和评论系统的设计与实现上。评论系统看似只是一个“附属功能”,但在实际开发中却是整个项目中业务逻辑最复杂的模块之一。

在项目初期,我采用了较为直接的实现方式,将评论数据简单地按列表形式渲染。随着需求逐步明确,需要支持评论分页、评论回复以及多层嵌套展示,这种初始方案很快暴露出结构混乱、扩展困难的问题。尤其是在处理嵌套回复时,不同层级评论的样式区分和事件响应逻辑变得难以维护。

为了解决这一问题,我重新梳理了评论数据结构,将评论抽象为树形结构,并在渲染阶段根据层级递归生成组件。这一调整虽然增加了前期实现成本,但显著提升了系统的可读性和扩展性。在后续新增功能(如回复高亮、分页加载)时,也能较为平滑地进行调整。

通过这一过程,我深刻体会到软件工程实践中“一次正确的抽象,胜过多次补丁式修改”。相比单纯追求功能完成,这种对结构和可维护性的思考,对我未来参与复杂项目具有更长远的价值。


2.2 介绍学习到的新技术或生产力工具以及它们给你带来了哪方面的帮助?

  • React 18:在实际项目中深入理解了函数组件、Hooks 以及组件生命周期对复杂页面状态管理的影响。
  • TypeScript:通过为评论数据结构、接口返回值定义类型,有效减少了联调阶段的低级错误。
  • Ant Design(Antd):在评论列表、分页组件等场景中快速构建稳定 UI,节省了大量样式开发时间。
  • Markdown-it:用于博客内容的 Markdown 转 HTML 渲染,使内容展示与数据存储解耦。
  • React-Router-Dom:在博客详情页与其他模块之间实现稳定的路由跳转和参数传递。
  • Axios:统一封装网络请求逻辑,提高接口调用的可维护性和可读性。
  • 浏览器开发者工具(Chrome DevTools):在调试评论渲染、事件冒泡和性能问题时发挥了关键作用。

2.3 技术之外,这门课程还给你带来了哪些方面的提升?

  • 需求分析能力:学会从需求描述中提炼真正需要解决的问题,而不是急于动手实现。
  • 系统性思维:逐渐从单点功能开发转向整体模块协作的思考方式。
  • 沟通与表达能力:在与队友讨论接口和数据结构时,更加注重表达清晰和逻辑严谨。
  • 责任意识:意识到自己的模块质量会直接影响其他成员的开发进度。
  • 抗挫折能力:在多次推翻重写评论逻辑的过程中,学会理性面对失败。
  • 时间管理能力:在多个模块并行推进的情况下,学会合理安排开发节奏。

2.4 如果还有什么想记录的或者想说的,就写在这儿吧!

这门软件工程课程让我真正意识到,复杂系统并不是靠“灵感”完成的,而是通过不断设计、验证和重构逐步演进的。虽然过程充满挑战,但也让我对未来参与大型项目充满期待。


三、致谢

在本学期的软件工程实践中,我最想感谢的是团队中的每一位成员。正是因为大家在各自模块中持续投入、相互支持,项目才能在有限的时间内不断推进。尤其是在项目中后期联调压力最大的阶段,团队成员之间的互相理解和配合显得尤为重要。

我特别想感谢在博客模块和评论系统联调过程中,主动帮助我测试极端情况、反馈问题的队友。许多隐藏很深的 Bug,正是通过大家的反复尝试才得以及时发现和修复。这种并肩作战的经历,让我对“团队开发”有了更真实的认识。

同时,也感谢软件工程课程的老师和助教,通过阶段性作业和答辩不断引导我们反思设计问题。这门课程不仅提升了我的技术能力,更让我在工程意识和团队协作方面获得了宝贵的成长。

超哥时代,沸腾期待!!!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询