# 软件工程课程学习随笔与自我评估
在刚刚结束的“前端输入 + 后端 Flask + Hugging Face FLUX 模型”交互式图像生成项目中,我经历了从环境配置到网络调试的完整实践。这段经历不仅让我打通了全栈 AI 应用的技术链路,也让我对自身的技能现状、技术偏好以及未来的学习方向有了更清晰的认知。
一、 技能树与技术偏好自我评估
结合近期的项目实践与日常学习,我将自己的技术能力与偏好梳理如下:
已具备的专业知识与能力:
- 能力 A:Python 基础与 API 调用能力。能够使用 Python 编写脚本,熟悉huggingface_hub等第三方库,能够根据文档调用大模型 API(如本次调用 FLUX 模型),并处理基本的 Base64 数据编解码。
- 能力 B:环境部署与错误排查。具备在 VS Code 及 Anaconda 环境下配置依赖的能力。面对 SSL: CERTIFICATE_VERIFY_FAILED(证书错误)、WinError 10060(网络超时)、Server disconnected(服务器断开)等重重报错,我能够通过查阅资料、修改代码(如配置 httpx 客户端)、调整本地代理环境来逐步定位并最终解决问题。
感兴趣的技术方向:
- AI 应用层开发(AI Agent & AIGC)。我对如何将大模型(如 FLUX、ChatGPT)的能力封装成看得见、摸得着的 Web 应用非常感兴趣。我希望未来能开发出真正解决实际问题的 AI 生产力工具。
- 轻量化全栈开发。相比于大型企业级架构,我目前对 Python 轻量化后端配合现代化前端框架(如 Vue/React)快速搭建原型更感兴趣。
还欠缺的能力:
- 能力 C:规范的软件工程与版本控制能力。目前写代码过于随性,缺乏使用 Git 进行版本控制的习惯,代码结构随意,不够规范。
- 能力 D:系统架构设计与模块解耦能力。目前写的代码大多缺乏对设计模式、代码分层(如 MVC、三层架构)的实际应用经验。
二、 代码量现状与目标
- 截至目前的代码量:估算在 1000 - 1500 行 左右。主要体现在课程作业和srtp项目的学习。代码大多是为了实现特定功能而写的验证性代码,缺乏完整的工程结构。
- 完成本学期课程后,希望达到的代码量:希望累计有效代码量能达到 5000 行以上。不追求单纯的数字堆砌,而是希望能写出结构清晰、包含完整数据库交互、具有基本容错机制和测试用例的规范化项目代码。
三、 本课程中最期待的知识与收获
- 最期待学习的知识:
- 软件生命周期与需求分析:如何将模糊的想法转化为明确的工程需求。
- 设计模式与代码重构:如何写出可读性高、易于扩展、低耦合的代码。
- 团队协作与 Git 工作流:如何在多人协作中合理使用分支管理、解决代码冲突。
- 希望获得的收获:
不仅是学会写代码,更重要的是培养“工程化思维”。希望在面对像本次调 API 这样的大型需求时,不再是一边搜索一边报错、到处打补丁,而是能像工程师一样,先画架构图、评估技术选型、规划模块,最后有条不紊地实施。
四、 AI 工具生成的《软件工程课程学习指南》及分析
选择的 AI 工具:DeepSeek
【AI 生成的学习指南(复制于下)】
《软件工程课程学习指南》
- 基础理论篇:掌握软件生命周期(SDLC),理解瀑布模型、敏捷开发(Scrum)的区别与适用场景。
- 工具掌握篇:熟练使用 Git 与 GitHub 进行版本控制(分支管理、PR流程);掌握项目构建工具(如 Maven/Gradle 或 npm/pip)。
- 需求与设计篇:学习 UML 建模(用例图、类图、时序图),理解 MVC、MVVM 等常见架构模式,学习常见设计模式(单例、工厂、观察者)。
- 编码与测试篇:注重代码规范(PEP8/Google Style),学习单元测试(JUnit/pytest)、集成测试与 CI/CD 流水线搭建。
- 项目实战篇:组队完成一个中型项目,经历需求分析、概要设计、编码、测试、部署全流程,撰写规范的项目文档。
- 推荐资源:《人月神话》、《构建之法》、GitHub 开源项目源码。
分析:这份指南合理吗?能带来帮助吗?
1. 合理性分析:
这份指南的逻辑非常完整且高度准确。它完美覆盖了软件工程的核心闭环:从需求到设计,再到编码、测试和部署。特别是提到了“文档撰写”和“测试”,这恰恰是很多学生(包括我)最容易忽视,但在实际工程中至关重要的环节。然而,对于目前基础还不牢固的我来说,这份指南略显宏大和理论化。尤其是 UML 建模和设计模式,如果脱离了具体项目的实践,直接去啃概念容易变成“纸上谈兵”。
2. 对自身的帮助:
这份指南对我有一定的纠偏和导向作用。
- 它让我意识到,不能只满足于“代码能跑起来”。在这次调用 FLUX 模型的作业中,我虽然最后跑通了,但代码结构混乱,Token 硬编码,没有任何错误重试机制,这完全违背了工程化的标准。
- 它提醒我,在接下来的学习中,必须把 Git 版本控制 和 单元测试 提上日程。
- 结合我自身的情况,我会把这份指南进行个性化调整:先从规范的 Git 管理和写好 Python 模块化代码做起,再逐步深入系统架构和设计模式。
但我仍然认为,人的发展有随机性和不确定性,AI生成的计划只能起到一个辅助大方向的作用,具体仍需自己花费功夫去实践、探索,才能找到真正适合自己的方向。

浙公网安备 33010602011771号