项目实践复盘:把博客功能拆成可交付切片
以 HUAN Lab 博客为例,记录如何把一个个人站点拆成内容、路由、样式、搜索和部署几个可验证切片。
做个人博客很容易一开始就想做完整系统:主题切换、全文搜索、评论、统计、订阅、后台编辑。真正推进时,更稳的方式是把目标拆成可以当天验证的切片。
好的项目节奏不是一次做完所有功能,而是每一步都有可运行、可检查、可继续扩展的结果。
切片顺序
HUAN Lab 的第一轮实践可以按内容链路来排优先级。先让文章能被读取,再让页面能展示,最后补体验增强。
一个可执行的顺序如下:
- 内容模型:确定 frontmatter 字段和分类枚举
- 文章读取:从
content/posts解析 MDX - 页面展示:完成列表页、详情页和分类页
- 阅读体验:补目录、代码高亮、上一篇下一篇
- 发布链路:接入 GitHub 到 Vercel 自动部署
export function getFeaturedPosts(posts: Post[]) {
return posts.filter((post) => post.featured).slice(0, 3);
}这类函数很小,但能让页面组件保持专注。组件负责展示,数据函数负责筛选和排序,后续修改规则时也更容易定位。
验收标准
每个切片都应该有明确的验收方式,而不是只看代码是否写完。博客项目可以用下面几个问题自检:
- 新增一篇文章后,首页是否能看到它
- 分类名称写错时,构建是否会失败
- 代码块、引用、列表在详情页是否正常排版
- 删除封面图片后,页面是否还能给出清晰反馈
npm run lint
npm run typecheck
npm run build这些命令不保证体验完美,但能覆盖语法、类型和构建三条底线。对于个人站点来说,这已经能挡住大多数发布前问题。
复盘记录
项目复盘不需要写成长篇报告。最有价值的是记录当时为什么这么做,以及下次遇到类似问题时可以复用什么。
可以固定三个小问题:
- 本轮完成了什么可见结果
- 哪个决策降低了后续维护成本
- 哪个地方需要在下一轮重构或补测试
小结
个人项目也值得用工程化节奏管理。不是为了显得正式,而是为了减少返工,让每次坐下来都有清楚的下一步。