# 个人博客开篇随笔
一、介绍自己,建博客
我是计算机专业的一名学生,本次完成了GitHub账号注册、头像与昵称信息完善;同时在博客园创建个人技术博客,修改博客名称、头像,并成功加入课程班级。
我认为坚持写技术博客是长期自我沉淀的方式,虽然每次整理笔记、复盘项目会花费不少时间,但可以把零散知识点系统化,方便日后复习回顾,也能锻炼文字表达能力。在学习博客写作规范时,我阅读了如何写博客、博客园写作规范,了解博文排版、引用、文明发帖等要求。
我的优势技能:快速阅读文档与资料整理能力。从高中开始,我习惯对学习资料进行归纳、提炼要点,持续3年。遇到陌生知识点,能够快速定位核心内容,整理成笔记,方便复盘。这项能力在专业课预习、查阅技术文档、阅读外文参考资料时都很有帮助。
同时我认真阅读了作业底线与学术诚信,明确课程作业底线:严禁抄袭、剽窃,引用他人资料必须标注来源,独立完成作业是基本准则。
二、现状、经验和计划
(1)专业能力自评与提升方案
选择计算机专业,是因为我对计算机底层原理、程序实现感兴趣,希望能用代码解决实际问题。对照IT毕业生能力表,选取7项核心能力自评:
| 能力项 | 当前水平(0-9) | 课程结束目标水平 | 提升手段 |
|---|---|---|---|
| C/C++编程能力 | 4 | 6 | 1.每周完成课程编程作业;2.在OJ刷算法习题;3.阅读开源项目源码;4.将练习代码提交到GitHub;5.和同学结对代码评审 |
| 代码调试与排错 | 3 | 6 | 1.遇到报错独立排查;2.记录bug与解决方案写进博客;3.学习GDB调试工具;4.观摩同学调试思路;5.整理常见错误手册 |
| 需求分析 | 3 | 5 | 1.阅读软件需求文档范例;2.课程项目练习撰写需求;3.小组讨论拆解项目功能;4.学习用户故事写法;5.复盘项目需求遗漏问题 |
| Git与版本控制 | 2 | 6 | 1.坚持用Git管理所有课程代码;2.学习分支、合并、冲突解决;3.阅读Git教程;4.在GitHub提交规范commit;5.练习代码回滚操作 |
| 单元测试 | 2 | 5 | 1.学习单元测试框架;2.写代码时同步编写测试用例;3.参考开源项目测试代码;4.学习测试驱动开发思想;5.博客记录测试心得 |
| 技术文档撰写 | 3 | 6 | 1.每次作业写博文复盘;2.规范注释;3.学习Markdown写作;4.阅读优秀开源项目README;5.互相评审文档 |
| 团队协作 | 3 | 6 | 1.积极参与小组项目;2.练习任务拆分;3.学习任务跟踪工具;4.主动沟通进度;5.复盘团队协作问题 |
(2)阅读心得
a)阅读文章 注意力 以及配套博客园解读文章。
心得:碎片化信息很容易消耗注意力,学习软件开发需要长时间深度专注。编程、项目开发都需要长时间连续思考,频繁刷手机会打断思路,降低学习效率。我需要刻意练习长时间专注,学习时远离手机,划分整块学习时段。
b)师生关系
我体验到教练式师生关系,老师不是单纯灌输知识点,而是引导、布置任务,让学生在实践中试错成长。我期望这门课保持教练式师生关系。
如果作业难度较大,我的选择:C:向老师和同学请教,花更多时间,把作业全部完成。
c)引用文献与抄袭剽窃的区别:
参考别人资料、在他人成果基础上继续开发,只要清晰标注引用来源,注明原作者与原文链接,就属于合理引用;抄袭/剽窃是直接复制他人文字、代码、思路,不标注来源,冒充为自己原创成果。
本课程中我会严格遵守:所有参考代码、文字资料均标注出处,作业代码独立编写,不直接复制他人完整项目。同时我会仔细阅读学校关于学术不端、抄袭的处理规定,守住底线。
(3)未来方向、优劣势与本学期规划
未来选择:从事软件开发相关岗位,偏向后端开发。
优势:文档阅读、资料整理能力较强,愿意持续学习新技术;能够静下心反复调试代码。
劣势:算法基础薄弱,项目实战经验少,大型项目架构理解不足。
本学期规划:
- 每周固定编程练习,积累代码量;
- 积极参与课程项目,练习团队开发;
- 坚持写博客复盘每一次作业;
- 主动阅读优秀开源项目,学习工程化思想;
- 定期回顾错题、bug记录。
(4)本课程学习计划、代码量与WOOP规划
目前代码量:
- C/C++:1200行
- Python:500行
一流互联网软件公司通常要求学生具备上万行有效项目代码;高校科研方向更看重理论基础、论文阅读与科研项目,代码侧重仿真、算法原型开发。
我计划每周投入12小时在这门课(含上课),选择 D:比以前课要多很多,直到达到目标为止。
课程结束计划新增代码量:3000行;平均每周完成约200行代码。
WOOP计划
- Wish(愿望):顺利完成课程全部项目作业,掌握软件工程基础、Git、单元测试、团队开发方法,课程成绩达到良好以上,形成完整作品集(GitHub仓库+博客)。
- Outcome(结果):课程结束后,拥有规范管理的GitHub仓库,博客积累多篇高质量技术随笔;具备基础工程能力,可以独立完成小型软件项目,掌握项目开发完整流程,简历上可以展示课程项目。
- Obstacles(障碍)
- 内部障碍:容易拖延,遇到复杂bug容易烦躁,不自觉刷手机打断专注;基础薄弱,部分知识点理解慢。
- 外部障碍:其他专业课任务多,时间冲突;小组协作时成员进度不一致。
- 最可能失败因素:拖延,总是把作业放到截止日前赶工,代码质量差,缺少充分调试。
- Plan(If-Then预案)
- 如果发现自己拖延、迟迟不开始写作业,那么就立刻拆解最小任务,先写10行代码,启动项目;
- 如果写代码时忍不住刷手机,就把手机放到另一个房间,使用专注模式;
- 如果遇到难以解决的bug卡超过1小时,就整理问题,记录自己排查步骤,向老师、同学求助;
- 如果多门作业时间冲突,使用四象限法优先安排软件工程课程项目(重要不紧迫,长期价值高)。
三、提有质量的问题, 给认真的反馈
通读《构建之法》全书,提出5个问题:
书籍:《构建之法——现代软件工程》
-
章节:第3章 敏捷开发
原文:敏捷强调拥抱变化,在迭代中持续修改需求。
问题:如果项目需求频繁变更,频繁修改代码,会不会造成代码架构持续腐化,后期重构成本极高?
查阅资料:很多企业敏捷实践中会出现技术债累积的问题。我的经验:课程小组作业时,需求微调就会导致部分代码需要重写。
困惑:敏捷开发如何平衡“拥抱需求变化”和“控制技术债务”,有没有简单可落地的判断标准? -
章节:第5章 团队和流程
原文:不同团队模式(一窝蜂、主治医师、明星模式等)。
问题:学生课程项目大多短期小组作业,团队成员能力差距大,哪一种团队模式最适合短期课程项目?企业团队模式能否直接套用在学生小组项目?
经验:之前小组作业有人能力强、有人基础弱,分工很难平衡。我的疑问:学生团队是否不适合照搬企业的团队模型? -
章节:第8章 需求
原文:用户需求需要挖掘潜在需求,区分用户想要什么和真正需要什么。
问题:学生项目大多没有真实用户,只能凭空假设用户场景,如何保证挖掘出来的需求不是自我臆想?
资料:很多课程软件项目最后做出来功能好看,但没有实际使用价值。困惑:无真实用户时,需求分析怎么做才不会脱离实际? -
章节:第14章 质量保障
原文:软件质量包含多个维度,可靠性、可维护性、性能等。
问题:学生课程项目规模很小,代码量不多,是否值得投入大量时间写单元测试?对于小型项目,单元测试投入产出比很低吗?
经验:写单元测试耗时很久,有时候测试代码甚至和业务代码差不多长。疑问:项目规模小到一定程度,是否可以简化甚至省略单元测试? -
章节:第16章 创新
原文:创新分为突破性创新、渐进式创新等。
问题:在校学生缺少资源、缺少行业场景,学生做软件创新项目,大多只是对现有软件功能微调,这种渐进式创新是否有实际价值?
资料:很多学生科创项目都是现有工具的简单改造。困惑:学生阶段,创新的评价标准是否和工业界不一样?
课程反馈选择
D:经常提问题,平时就经常给老师和助教提反馈
四、前车之鉴
文章1:https://book.douban.com/subject/4006425/discussion/22803733/
主题:ABCD四象限时间管理
感想:这篇文章介绍把任务划分为紧迫重要、重要不紧迫、紧迫不重要、不重要不紧迫。我之前习惯优先处理紧急任务,长期忽略“重要但不紧急”的学习(写博客、练习编程、预习),导致基础薄弱。软件工程、代码练习属于B类任务,短期看不出效果,长期决定能力上限。我打算从现在开始,每周预留固定时间处理B类任务,不再只赶截止日期。
文章2:https://book.douban.com/subject/4006425/discussion/22803961/
主题:科班学生,但感觉没有学懂计算机
感想:很多计算机科班同学都有这个感受,课堂听懂,但动手写代码、做项目就无从下手。大学课程偏向理论,缺少工程实践训练。这提醒我,不能只停留在看懂课本,必须动手写项目、踩坑,理论结合实践。软件工程这门课刚好可以弥补工程实践短板。
文章3:https://www.cnblogs.com/geniusalex/p/4928713.html
主题:速成培训班 vs 大学基础教育
感想:培训班侧重快速上手工具,适合短期就业;大学课程学习底层原理(操作系统、计算机网络、数据结构),见效慢,但决定未来技术上限。我曾经怀疑基础课的意义,读完之后意识到,底层基础决定未来能否理解复杂系统,不能轻视基础学科。
GitHub仓库说明
GitHub仓库地址:https://github.com/existmoe/existmoe1/edit/main/README.md
仓库名称:

浙公网安备 33010602011771号