开发日志,一半是写给自己的,一半是写给别人的。

做新东西的路上,你会学新技能、犯新错误、做新决定。卡到半夜的那个晚上、为一个小 bug 磨掉的几个小时——过几年回头看,你多半全忘了。日志替你记着这些,别人也能从里面学到东西。

没有日志,别人就无从知道:你是怎么把它拼起来的?为什么选 A 不选 B?哪怕只写一小段,也能让人看见你思考和踩坑的过程。

我们也靠它来核验。你提交后,核验会看你的日志,确认三件事:你的决定说得通、东西是你自己做的、过程真实存在。


怎么写

好日志是一个故事——你的故事。

不需要完美的中文或语法,写清楚就行。别让 AI 替你写日志:它不知道你的故事,只会写出一篇正确但空洞、一眼假的流水账。你用 ys log new 建一篇,或者用 ys log "..." 快发一条,都行——关键是里面装的是你自己的经历。

每完成一天的活、或者到了一个小节点,就写一篇。

1. 讲清为什么,别只报流水账

一篇日志最重要的,是讲清为什么,不只是做了什么。三个问题答上来就够了:

  • 你做了什么?
  • 为什么这么做?
  • 你遇到了什么问题?

2. 多截图、多拍照

别等做完、做好看了才截图——每个有意义的步骤都留一张,中间乱糟糟的样子也要,「修好之前」和「修好之后」的对比更要。做硬件就多拍实物照。

3. 踩了坑就老实写

你一定会犯错:游戏里主角穿墙了、接线接反了、外壳打印出来差了两毫米。把它们写下来,再写你怎么修的。一篇没有任何错误的日志,是说明书,不是日志。


一句话总结

这样是好的 ✓
这样不行 ✕
写清做了什么、为什么、怎么做的
只写做了什么,不说为什么、怎么做
每个有意义的步骤都截图,不只是最终成品
只放一张做完的成品图
老实写下你踩的坑和怎么修的
「我把它接好了」「我做了个 CAD」这种空话

对比一下

❌ 不好:

我加了个稳压模块,接好线。做了 CAD,加了外壳。全部焊到一起,然后它就能用了!

问题在哪:

  • 你为什么要加稳压模块?
  • 外壳是干嘛的?有什么特别的设计吗?
  • 你怎么测试确认「它能用了」的?
  • 这段话换成任何一个项目都成立——它没告诉我具体做了什么。

✅ 好:

6 月 8 日:屏幕终于亮了!!

总算让主板在这块 LCD 上显示出画面了,简直不敢相信真的成了。

我一开始参照的是某个开源项目的接线,但它用的屏和我手上这块驱动芯片不一样。所以我不光要搞懂它原来怎么点亮屏幕,还得把那套方法改成适配我这块屏的驱动。

(配图:接线中途的照片)

卡了很久的地方是:我不确定系统里到底有没有我这块屏需要的驱动。后来我顺着几个仓库一路翻源码,才确认驱动是存在的——就是要在配置文件里改对参数。下面是我最后跑通的配置……

看出区别了吗?好的那篇让你跟着他的思路走了一遍:他撞到什么墙、怎么绕过去、最后怎么成的。这才是日志。


写好 README、记好日志,你的项目就站得住了。万一被退回,核验反馈会告诉你缺什么,规则见核验规则