“代码与成长:从迷茫到收获的一段旅程”

news/2024/12/27 22:43:44/文章来源:https://www.cnblogs.com/chijiayi/p/18591544

代码与成长:从迷茫到收获的一段旅程

目录

  • 迷茫的开始:我的软件工程初体验
  • 学习与实践:从失败中收获力量
    • 个人编程:扎实基础
    • 结对编程:倾听与合作
    • 现场编程:与时间赛跑
    • 团队项目:从混乱到有序
      • 初期遇到的挑战
      • 面对挑战的调整与优化
      • 项目的最终成果与反思
    • 技术与工具:助力成长的关键
    • 收获与成长:从技术到思维的全面蜕变
  • 最难忘的瞬间:团队的力量
  • 软工实践的各次作业花费时间
  • 致未来的自己与学弟学妹们
    • 给未来的自己
    • 给学弟学妹的建议
  • 致谢:那些一路同行的人
  • 结语
  • 代码与成长的动画展示

迷茫的开始:我的软件工程初体验

回想刚开始学习软件工程课程时,我对这门课的理解还停留在“学写代码”和“完成作业”上,觉得这不过是大学里另一门普通的专业课。然而,随着课程的推进,我逐渐感受到,这不仅仅是一门技术课程,它更多的是一段关于 协作、思维、管理和坚持的成长旅程

初次遇到的挑战

  • 从未接触过完整项目开发流程:面对需求分析和项目计划时,我感到无从下手。
  • 团队协作的生疏:第一次团队作业中,大家的分工不明确,沟通也不够顺畅,导致项目进展缓慢。
  • 新工具的高门槛:例如,Git的版本控制和React的组件化开发让我感到吃力。

这些挑战让我意识到,想要真正成长,就必须走出舒适区,面对陌生和不确定。


学习与实践:从失败中收获力量

随着课程的逐步推进,我开始慢慢适应这种高强度的学习节奏。从最开始的个人作业到团队合作,每一次任务都是一次新的探索,每一个问题的解决都让我离成长更近了一步。

个人编程:扎实基础

  • 第一次个人作业的任务是搭建一个 Github 个人主页,并在页面中介绍自己的兴趣爱好、专业知识与能力,以及未来的发展设想。我认为这次作业使我们对自身能力有了更加全面的认识,为以后软件工程的学习做准备。
  • 第二次个人作业的要求是编写一个类似“羊了个羊”风格的消除类小游戏,在这个过程中,我遇到了逻辑混乱的困境。通过重构代码和优化流程,我第一次体验到“优雅代码”的意义。

结对编程:倾听与合作

  • 在结对编程中,我和搭档共同完成了一个小型聊天系统的开发。通过结对合作,我们讨论并细化了客户需求,明确了设计目标。虽然在需求分析和原型构建上花费了比预期更多的时间,但通过这个过程,我更加深刻地理解了系统设计和开发的全流程,并意识到时间管理和任务划分的重要性。但真正的挑战在于如何高效沟通和彼此协作。
  • 一次争论让我印象深刻:关于数据格式的选择,我们各持己见。最终,通过分析各自方案的优劣,我们选择了一种更灵活的数据传输格式(JSON),不仅解决了当下的问题,还为后续扩展提供了便利。这次经历让我意识到 倾听和妥协是团队合作中不可或缺的能力

现场编程:与时间赛跑

  • 11月2日,我们进行了一次现场编程作业。任务旨在开发一个个人记账本,我们给它取了个名字--时光记账簿
  • 编写个人记账本程序就像搭建一个专属的财务小管家,从定义收支类别到数据存储与计算,每一步都是对编程逻辑与功能实现的有趣探索。

团队项目:从混乱到有序

团队项目无疑是整个课程中最具挑战性的部分。在最初阶段,我们面临着许多问题,这些问题既考验了我们的技术能力,也考验了我们的团队协作能力。回顾整个过程,可以说这是一段从混乱到有序的旅程。

初期遇到的挑战

  1. 需求模糊
    客户的需求往往是抽象和不明确的,尤其是在最初的需求分析阶段。这使得我们在项目初期的设计经常需要推翻和重做。每一次变动都会导致工作重复、进度滞后,让团队成员感到沮丧和迷茫。

  2. 任务分配不均
    在团队项目的初期,我们并未明确每个人的具体责任和工作量。这样导致了部分成员承担了过多的任务,而其他成员则陷入了等待和消极的状态。例如,在需求不明确的情况下,某些人只能等待明确的功能定义,而其他人则在不停地调整设计。这种不平衡的任务分配造成了团队内部的不满和拖延。

  3. 沟通效率低下
    团队成员之间的沟通也出现了问题。由于任务划分不清晰,很多信息重复传递或者没有及时沟通,导致了工作内容的偏差。团队会议经常过于冗长,但最终的决策效率却不高,很多问题没有得到及时解决。尤其是在项目初期,我们没有固定的会议流程,导致讨论散乱,容易造成误解。

面对挑战的调整与优化

为了应对这些问题,我们团队逐步进行了一系列的调整和改进,以保证项目能够顺利推进:

  1. 改进需求分析
    我们将需求拆解成具体的功能模块,并明确了每个模块的核心目标。为了确保每个人理解一致,我们在每次会议结束时,都会总结出清晰的需求文档并要求团队成员确认理解。通过这种方式,我们能够确保需求在开发过程中不会出现偏差。

  2. 明确分工与责任
    为了避免任务分配不均,我们将项目的每个阶段任务明确列出,并标明每个成员的具体责任。通过将任务细化为子任务,成员可以清晰地看到每个人的工作进度和待完成的事项。我们还设置了每个任务的截止日期,并通过周会进行汇报,确保任务的进展是可控的。

  3. 提升沟通效率
    我们决定优化团队内部的沟通方式,采用了 站立会议(Stand-up Meeting)的形式。每天早上,我们会进行一个简短的会议,每个成员简要汇报自己的工作进展、当前遇到的问题以及接下来的计划。站立会议有助于缩短会议时间,避免讨论的拖延,同时也能让团队成员了解彼此的工作状态,增强团队协作。

项目的最终成果与反思


项目完成后,我们的团队系统运行稳定,UI设计简洁美观,得到了老师和同学们的认可。回顾整个开发过程,我深刻体会到 团队合作和合理的项目管理对于项目成功至关重要。不仅仅是技术能力,更是沟通、协调和计划的重要性,才是项目顺利推进的关键。


技术与工具:助力成长的关键

在这门课程中,我接触并掌握了多种技术和工具,为我的项目开发提供了有力支持。

技术

  • 前端(React):通过组件化开发,我能够清晰地组织前端代码,提高了页面的可维护性。
  • 后端(Node.js、Django):掌握了 RESTful API 的设计与实现,并能够通过数据库与前端进行有效的数据交互。
  • 数据库(MySQL):学习了关系型数据库的基本操作,掌握了 SQL 查询和数据库设计的核心原则。
  • 测试(Jest、Mocha):学习了单元测试和集成测试的基本方法,确保了系统的可靠性。
  • 敏捷开发方法:通过Sprint迭代和每日Standup会议,我理解了如何在快速变化的环境中推进项目。

工具

  • Git/GitHub:学会了版本控制的高级操作,如分支管理和冲突解决,这显著提高了团队协作效率。
  • Postman:用于测试后端API,显著提高了前后端联调的效率。
  • CI/CD工具(GitHub Actions):实现了自动化部署,节省了大量时间。

这些技术和工具的掌握,不仅为本课程的完成提供了支持,也为我未来的职业发展奠定了基础。


收获与成长:从技术到思维的全面蜕变

技术上的提升

  1. 全栈开发能力:熟悉了前端框架(React)和后端开发(Node.js、Django),理解了前后端协作的核心逻辑。
  2. 测试与调试能力:掌握了单元测试和调试技巧,提高了代码质量。

思维与素质的提升

  1. 解决问题的能力:通过不断的探索与尝试,我学会了面对复杂问题时如何分解任务、逐步解决。
  2. 沟通与协作能力:在团队中,学会倾听他人的意见,也能够清晰地表达自己的想法。
  3. 抗压能力:Beta冲刺阶段的高强度开发让我学会了如何在压力中保持冷静并高效完成任务。

最难忘的瞬间:团队的力量

回忆起整个学期,我最难忘的瞬间是Beta阶段的答辩。在紧张的开发和测试后,我们站在讲台上自信地展示了我们的系统。老师的认可、同学们的掌声让我深刻体会到团队合作的力量,也让我明白,成功从来不是个人的孤军奋战,而是团队共同努力的结果


软工实践的各次作业花费时间

作业 花费时间
第一次个人作业 3h
第二次个人作业 9h
第一次结对作业 5h
第二次结对作业 8h
第一次团队作业 5h
第二次团队作业 15h
现场编程作业 4h
团队作业beta冲刺 35h

在软件工程课程上花费的时间

  • 累计时间:143h
  • 实际周均时间:11.9h
  • 预计周均时间:10h

致未来的自己与学弟学妹们

给未来的自己

这段旅程让我看到自己的成长,也让我意识到还有很多需要学习的地方。希望未来的自己能够更加从容地面对挑战,继续探索技术的深度和广度。

给学弟学妹的建议

  1. 不要害怕失败,每一次挫折都是成长的机会。
  2. 学会使用生产力工具,它们会让你的开发过程事半功倍。
  3. 珍惜团队合作的机会,你会发现每个队友都是你成长的导师。

致谢:那些一路同行的人

  • 我的团队:感谢每一位队友的付出,特别是我们的队长,他在最后阶段独自优化了后端接口性能,为项目成功做出了巨大贡献。
  • 结对编程的搭档:感谢你在代码审查中指出我的问题,也让我在合作中学到了更多。

结语

软件工程这门课程不仅让我掌握了技术,更让我明白了团队协作的重要性和项目管理的复杂性。从迷茫到收获,这段旅程是一次充满挑战与成长的体验,也将成为我大学生活中最宝贵的回忆。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/860080.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

昆明理工大学F003计算机核心课程综合复试参考书

--昆工昆明理工大学计算机技术人工智能软件工程网络空间安全计算机系统结构计算机软件与理论计算机应用技术网络与信息安全408考研综合程序设计891计算机专业核心综合数据库系统原理

coderwhy_Vue3+TypeScript

【公开课】coderwhy_Vue3+TypeScript.mp4 Vue3+TypeScript 王红元 coderwhy ke.qq.com/course/3453141?tuin 1635c7de 《TypeScript数据结构与算法》《React技术栈权威指南》作者腾讯AI高校训练营多所985、211名牌大学特聘讲师。丰富的软件开发和教学经验,带领团队开发出众多…

E92 换根DP+倍增 P5666 [CSP-S2019] 树的重心

视频链接:E92 换根DP+倍增 P5666 [CSP-S2019] 树的重心_哔哩哔哩_bilibili P5666 [CSP-S2019] 树的重心 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)// 换根DP+倍增 O(nlogn) #include <iostream> #include <cstring> #include <algorithm> #include …

Java中的微信支付(1):API V3版本签名详解

Java中的微信支付(1):API V3版本签名详解Java中的微信支付(1):API V3版本签名详解| Id | Title | DateAdded | SourceUrl | PostType | Body | BlogId | Description | DateUpdated | IsMarkdown | EntryName | CreatedTime | IsActive | AutoDesc | AccessPermission | …

AI泳池溺水监测识别摄像机

AI泳池溺水监测识别摄像机是一种利用人工智能和机器视觉技术的创新设备,旨在确保游泳池安全,并及时识别溺水事件,以减少溺水事故的发生。这种摄像机利用高清摄像头和AI算法,能够实时监测泳池中的情况,并自动识别溺水事件。它可以迅速发现水面上出现异常的情况,如有人体在…

数据恢复软件下载_R-Studio V9.4.191420中文绿色版下载

软件介绍 数据恢复软件R-Studio 绿色版是一款来自于加拿大的功能强大、经济高效的数据恢复软件,它将最先进的文件恢复和磁盘修复技术与直观的用户界面进行联合,可为企业和专业级数据恢复专家提供所需工具。不论是有经验的数据恢复专业人员,还是入门级用户都不会有使用方面的…

泥石流识别摄像头

泥石流识别摄像头的核心在于其深度学习算法,泥石流识别摄像头具备全天候监控的能力,无论是白天还是夜晚,都能稳定运行。当摄像头监测到山体出现落石、坍塌或泥石流等异常情况时,系统会立即启动报警机制。报警方式多样,包括发出声音警报、向用户的电脑或手机推送报警信息等…

从零开始搭建SpringBoot项目

一、创建SpringBoot项目二、上一步填写完信息后点击Next,进入选择依赖库界面,在这里大家就可以选择我们开发当中要使用到的如:数据库驱动,技术,框架等等。 (下面是大多项目中会使用到的技术,可以根据项目选择会用的插件)三、给IDEA安装插件:需要给IDEA安装的插件一共有…

中考阅读理解深入逻辑分析-007 Hooves of Justice: The Equine Guardians 正义之蹄:马匹守护者

中考阅读理解深入逻辑分析-007 Hooves of Justice: The Equine Guardians 正义之蹄:马匹守护者 文章正文 ​ Police officer Dennis was recently patrolling(巡逻)the streets of Newark, New Jersey. Suddenly, he found four men fighting. As he approached, one of…

灵感上线,云开发实现抽奖转盘是多么简单的一件事

今天,我们继续深入探讨云开发的应用。本次,我们将实现一个简单的小游戏——转盘抽奖。这一项目的灵感来源于腾讯云创作之星内部每周举办的创作活动和每月的抽奖环节。由于每次抽奖都需要使用小程序进行,而小程序的审核过程通常较为缓慢,因此我想借助云开发,看看能否快速实…

OCR实践-问卷表格统计

OCR实践,表格处理,基于前面的深度模型知识,实现表格图片自动统计分数,项目代码已开源 放在Github上,欢迎参考使用,对手动拍照的问卷图片进行统计分数(对应分数打对号),单张问卷各项得分写入excel文件,并汇总所有图片得分到 excel。前言 书接上文OCR实践—PaddleOCR O…

blog-3

前言 在过去的几周内,我们完成了家居强电电路模拟程序-3以及 家居强电电路模拟程序-4的练习,涉及多个知识点和编程技巧。整体来说,这两次题目集共包含了2道题目,题目难度逐步增加。(折叠代码是不在行列计算内的,只是我觉得结合代码能讲的更清楚我的思路,由于上次可能因为…