只动存储层,前端一行不改
重构,是代码职责的划分
不是行为的变更
重构只挪位置,不改行为。重构完跑一遍,但凡有一点不一样,就说明我们改错了——这既是纪律,也是验收的尺子。
storage.py,不叫 db.py
storage.py。history.json,一个字都不改。storage.py 整个换成 SQLite 版。main.py 几乎不用动。10,站错了层| 现在(文件版) | 改成(数据库版) | |
|---|---|---|
| 1 | import json | import sqlite3 |
| 2 | HISTORY_FILE = "history.json" | DB_FILE + 一个 get_conn() |
| 3 | (文件时代没有这一步) | init_db():启动时建表 |
| 4 | save_record:读全部 → 追加 → 整个写回 | 一句 INSERT |
| 5 | get_history:全量读 → 倒序 → 切片 | 一句 SELECT … ORDER BY … LIMIT |
| 6 | load_history | 删掉 (数据库不需要"整份读出来") |
改完之后,main.py 只多两行——init_db 的 import,和启动时叫它一声。
.gitignore 加一行 backend/*.db。数据是运行时产生的,和代码不是一类东西。下一节,让历史分到每个人
会话:让服务器认得出「同一个浏览器」,给每条记录盖上它的记号——页面上,才能安全地只列出访客自己的历史。