01构建之法阅读笔记
-
我的学生项目现状
所有代码堆在单一文件夹中,命名如"实验三_2"
遇到bug时手动复制整个项目目录作为备份
无法追溯什么时候引入了特定问题
不同课程作业间代码复用困难 -
书中启示(第2章)
书中强调:
"版本控制是开发者最重要的时间机器,它能带你回到任何一个工作节点"
个人开发不管理版本的三大弊端:
历史丢失:无法恢复之前能运行的版本
效率低下:靠文件夹备份浪费存储空间
成长断层:看不到自己的进步轨迹 -
个人Git实践方案
初始化每个项目为Git仓库:
bash
mkdir my_project && cd my_project
git init
每日工作流程:
bash
开始工作前
git checkout -b feature/新功能
完成一个逻辑单元后
git add .
git commit -m "feat: 实现用户登录界面布局"
当天工作结束
git checkout main
git merge feature/新功能
使用GitHub学生包免费创建私有仓库备份
二、单人开发中的测试策略
- 我的当前做法
写完代码直接运行,肉眼观察是否报错
修改代码后全流程手动测试,耗时费力
实验报告中的测试用例临时编造
代码重构时提心吊胆怕改坏原有功能 - 书中真知(第13章)
书中指出:
"测试是代码的安全网,越早编织越能自由翱翔"
个人忽视测试的后果:
调试噩梦:问题像打地鼠此起彼伏
不敢优化:屎山代码越来越臃肿
能力瓶颈:缺乏工程化思维训练 - 个人TDD实践步骤
使用JUnit/Pytest等框架搭建测试环境
先写测试用例(红阶段):
java
@Test
void testPasswordValidator() {
assertFalse(Validator.isStrongPassword("123"));
assertTrue(Validator.isStrongPassword("Abc@1234"));
}
实现最简单功能使测试通过(绿阶段)
优化代码结构(重构阶段)
配置IDE一键运行所有测试(IntelliJ/VSCode都支持)
三、个人项目需求管理
- 我的常见困境
课程作业需求理解模糊就开始编码
开发中途发现理解错误推倒重来
功能优先级混乱导致DDL前熬夜
完成质量随心情波动大 - 书中智慧(第5章)
书中建议:
"明确的需求定义比高效的编码更重要"
个人项目需求不清的危害:
方向偏差:辛苦实现非核心功能
时间浪费:反复修改消耗精力
成就感低:成果与预期不符 - 个人需求管理工具
使用Markdown编写需求文档:
markdown
校园二手交易平台(个人项目)
核心功能
用户故事
任务拆解模板:
任务 预估时间 实际时间 状态
设计数据库模型 2h 3h ✅
实现注册逻辑 1.5h - ⌛
使用Trello看板管理进度:
[待办] → [进行中] → [代码审查] → [已完成]
四、代码质量的自我修养
- 我的代码坏味道
200行的main方法处理所有逻辑
变量命名随意(a1, tmp, data2)
零注释,两周后自己都看不懂
复制粘贴相似代码段略作修改 - 书中规范(第4章)
书中强调:
"整洁的代码是给人类阅读的,只是恰好能被机器执行"
糟糕代码的长期影响:
能力停滞:停留在脚本小子水平
机会流失:无法展示优秀作品
习惯固化:坏习惯变成肌肉记忆 - 代码优化checklist
命名规范:
类名:大驼峰(UserService)
方法名:小驼峰(getUserInfo)
常量:全大写(MAX_RETRY)
方法长度不超过屏幕高度(约30行)
每日代码自检:
删除未使用的import
提取重复代码为函数
添加必要注释
使用SonarLint插件实时检测
五、学习路线图:从学生到工程师的蜕变
- 学期项目实践计划
mermaid
gantt
title 2023秋季学期工程实践
dateFormat YY-MM-DD
section 数据结构课
迷宫求解器 :active, 23-09-01, 30d
section Web开发课
博客系统 :23-10-01, 45d
section 毕业设计
智能问卷系统 :23-11-15, 90d
2. 个人工程能力培养矩阵
季度 技术栈 工程实践 成果物
Q3 Java/Python基础 单元测试+Git基础 3个规范托管项目
Q4 Spring/Flask CI/CD+代码审查 1个全栈应用
2024 分布式架构 性能测试+监控 开源项目贡献
3. 推荐工具链
开发工具:VSCode + GitHub Copilot
版本控制:GitHub Desktop(图形化入门)
文档管理:Typora + PlantUML
学习追踪:Notion知识库
作为学生,虽然暂时没有团队协作的压力,但培养工程化思维的习惯将让你:
课程项目完成更轻松
代码作品成为求职利器
未来无缝衔接团队开发
建立终身受用的工作方法论
记住:优秀的软件工程师不是从入职第一天开始培养的,而是在每个个人项目中逐渐成长起来的。你现在写的每一行规范代码,都是在为未来的职业发展铺设台阶。

浙公网安备 33010602011771号