夜雨聆风学习资料网

ARTICLE · 1143663

老闫的族谱软件开发日志

老闫的族谱软件开发日志

—— 一个不会写代码的人,和 AI 结对做软件的真实记录

最近更新:2026-10-08(第 2 篇)

这是一份持续更新的开发日志。我按时间节点记录「族谱管理」软件从想法到交付的全过程,每有新进展就在文末续写一节。文中所有配图均为演示用的虚构数据,不涉及任何真实族人信息。

写在前面

我是老闫。家族修谱多年,一直想把老谱和新资料整理成电子版,但市面的族谱软件要么必须联网上传,要么臃肿难用。我的底线很明确:家族的资料是隐私,必须全部存在自己电脑上,一个字节都不许往外发。
问题是我一行代码都不会写。怎么办?我的办法是——找 AI 结对:我出需求、出主意、做验收,AI 负责敲代码。我俩的协作方式也定了规矩:每做一个功能之前,先用一道道选择题把边界敲清楚;每做一个功能之后,必须跑测试、给我看效果,才算数。
目标形态一开始就写死在需求文档里:Windows 上绿色免安装的单文件 exe,双击即用,数据全在本机。

2026-10-06 | 第一天:从一句话到能用的软件

第一天的节奏是"先写清楚,再动手做"。
上午先憋出了一份《软件开发需求文档》:10 项核心功能白纸黑字列好——成员录入编辑、亲属关系维护(父亲/母亲/配偶,还要防"自己是自己爹"这种错乱数据)、族谱树可视化(能展开折叠)、删除(二次确认防手滑)、姓名搜索、本地存储、备份恢复、单实例、设置、一键卸载。几个悬而未决的边界(比如要不要 Excel 导入、要不要照片附件),都用选择题当场拍板:首版不做,后续迭代再说。
下午开始功能一个个点亮。傍晚,第一个族谱管理.exe诞生了——45 兆的单文件,双击就能用,这就是我想要的"绿色软件"。
晚饭后继续按文档顺序推进,把剩下几项全部做完:
备份恢复:一键备份到 FamilyTree\backup;覆盖恢复前会自动先备份当前数据,手滑也有后悔药;合并导入自动去重。 | 600">
单实例:双击一百次快捷方式,也只会唤起已打开的那个窗口,绝不给你开一堆重复窗口。
设置对话框:族谱树布局可以"自上而下"或"自左而右"切换,删除确认弹窗可以关。 | 450">
一键卸载:独立的卸载小工具,退出程序、删干净数据文件,可选是否保留主程序——不留家族隐私残留。
收工前一算:需求文档上的 10 项核心功能,全部"已实现",外加桌面快捷方式和 4 套自动化测试(六十多项断言全绿)。
小插曲也记一笔:我电脑里的 python 其实是微软商店的"占位版",敲命令只会弹商店页面,真正能用的是 py 启动器;还有打包时图标路径踩了坑、测试输出在中文环境下乱码……这些坑后来都进了需求文档的"修复清单",算是给后来者留了张地图。

2026-10-08 | 第二天:交付得像个产品

休息一天后回归。这一天干了四件事。

一、收尾两件"正事"

源码独立备份:源码搬进「族谱管理-源码备份」文件夹,和软件、数据彻底分开。以后改代码在源码那边改,产品文件夹里只有两个 exe 和数据,拷走即用。搬完顺手把 4 套测试在新位置跑了一遍,全绿。
最终版需求文档:交付物清单逐条标上状态,修复清单补齐 8 条踩坑记录,遗留问题如实写明,输出 V1.0 快照。

二、界面体验两连更

第一轮:画布改成无限的——拖到天边也不会碰到边界;左区右上角加了一组悬浮按钮[居中 / 编辑 / 移动],选中的人一键送到视野中央。顺手支持了"自左而右"的布局:
第二轮:点「编辑」鼠标变成选中箭头、专心点人;点「移动」变手型只能拖视角;新增刷新按钮(保存后画布没及时更新,点它一下就同步);新增全屏演示——只有画布占满整个屏幕,按 ESC 退出。

三、双击党的救星:测试版快捷方式

我这人只会双击,不会开终端敲命令。于是做了一个桌面「族谱管理-新功能测试版」快捷方式:双击它,直接运行源码里的最新功能,没有黑窗口。正式版和测试版各用一把"单实例锁",互不干扰,可以同时开着——一边改数据,另一边点「刷新」就同步了。

四、让软件学会"自我更新"(v1.4)

最头疼的问题:正式版 exe 总比源码落后一步,每次都得等打包。这次一步到位,做了版本系统:
两个版本的顶栏都有「版本」按钮:点开就是当前版本号、本版相比上次改了哪些内容、以及从 v1.0 起的完整历史日志: | 575">
正式版对话框里还有「更新版本…」:列表里选一个归档版本,软件自动切换重启,并且记住你的选择——下次双击打开还是它。哪天想回去,选"恢复正式版自带版本"即可: | 575">
背后配套了每轮开发自动归档的快照机制(versions 目录),以及启动时的"中继"逻辑:正式 exe 发现你选过版本,就悄悄把运行权交给对应源码;哪台电脑没装 Python,更新功能自动禁用,基础功能照常。
当天傍晚,v1.4 正式版打包完成——刷新、全屏、光标、版本按钮一次性全部到位。测试也升到 6 套、一百多项断言,全绿。

2026-10-08 | 同一天夜里:从 v1.4 一路到 v1.12

傍晚刚把 v1.4 发布,晚上接着干。这一段可以概括成两件事:先把几项小体验补上,然后照着一份"文字版设计稿"把界面从头到脚重构成了三遍,最后按我的使用反馈精修了三轮。版本号从 1.4 走到 1.12,一天发了九个版本。

几项小优化(v1.5、v1.6)

出生、逝世日期改成年月日上下滚轮点选——原来那个日期控件看着像样,实际根本点不动,这次连 bug 一起修了;新增成员时日期默认填今天。
性别从下拉菜单改成「男 / 女」按钮一点即中;亲属关系里加了子女列表,点谁跳谁。
修了个让我冒冷汗的 bug:测试版有几次打开一片空白,排查出来是数据目录指错了地方。修完还顺手把窗口缩小时界面不挤压、分组标题可折叠这些细节都磨了一遍。
版本号改成三位数(比如 1.6.1)——一天更五轮,两位数根本不够用。

一份文字稿引发的"三批重构"(v1.7–v1.9)

这天的重头戏,是我先写了一份《UI/UX 文字原型落地稿》——没有画图,就把界面的每个细节用文字描述清楚:主色用什么绿、按钮圆角多少、搜索框放哪、悬停要有什么提示……然后和 AI 约定分三批做,每批做完验收一次。

第一批·全局换装(v1.7):主色调成沉稳的墨绿,画布铺上"宣纸色";顶栏改成「标题—搜索框—按钮」三段式;新增导出按钮,当前画面一键存成图片或 PDF,族谱可以打印出来贴墙上。画布空白处按住左键就能拖,连线改成圆角,鼠标悬停在族人卡片上会弹出小浮窗显示生卒和世次,右下角加了缩放百分比,还加了撤销/重做。

第二批·右侧档案馆(v1.8):成员信息补上「字、号、曾用名」;新增「扩展档案」折叠区——籍贯、现居地、民族、学历、职业、生卒地点、墓址。最有价值的是修改日志:谁、什么时候、把什么改成了什么,自动记录,随时回溯。

第三批·史料与附件(v1.9):每个成员都能上传史料文件——老照片、谱书扫描件、墓碑拓片,还能填"来源/考证说明";图片双击看大图,其他文件交给系统程序打开;删除成员时附件一并清理。文件存在 FamilyTree 文件夹里,拷走数据夹就全带走,一个字节不出本机。这一批还加了 Ctrl+S 快速保存,族谱树节点默认显示「第 N 世」(设置里可关)。

三轮精修,全是我的"用着不顺手"(v1.10–v1.12)

软件能用了,毛病就全暴露出来了。我一条条提反馈,AI 一条条改:
按钮各归其位:「版本」「设置」挪到标题右边;「保存修改」放在「新增成员」旁边;「查看日志」插进「备份」和「恢复」之间;用得少的"复制新建"直接删掉(v1.8 加的,v1.10 又撤了——加功能容易,删功能才见勇气)。
姓名、字、号、曾用名四个框排成一行,各限三个字;日期滚轮加宽,能完整显示「2026年10月8日」;出生日期不填就显示今天,逝世日期默认空白只留"年月日"三个字。
状态栏和日志合二为一:底部状态栏常驻一行,显示的内容和修改日志一字不差——「14:32:05 修改资料 姓名: 张三→福来改」。连设置父亲、母亲、配偶这种关系变化也自动记进日志。这个主意是被"我刚改了啥来着?"逼出来的。
弹窗提示挪到左下角(右下角是缩放控件,别挡着),状态栏文字加粗、变墨绿,一眼能看见。
点关闭按钮时如有没保存的修改,弹窗三个中文按钮:保存并关闭 / 不保存并关闭 / 取消。
有未保存修改时,状态栏最右侧亮出黄色「存在未保存修改」,「保存修改」按钮同步变黄;存完,黄标消失、按钮变回绿色。
收个尾:这一晚发版前,全套自动化测试一百多条断言必须全绿才敢打包——事实证明好几处联动(按钮变色、关闭询问、日志格式)都是测试先发现的问题。最大的体会是:把界面需求写成一份文字稿、分批做、每批验收,比"一锅炖"稳得多;而软件的手感,从来不是一次设计出来的,是一轮轮"用着不顺手"磨出来的。

几句掏心窝的经验

需求先写清楚,比什么都值钱。用选择题逼自己把每个边界拍板,返工就少一大半。
小步快跑,先能用再好看。第一天就有能录入、能看树的软件了,之后每天都是锦上添花。
备份比什么都重要。数据就在本机一个文件里,手滑删了没人能救——现在软件里一键备份,后悔药常备。
界面是磨出来的,不是设计出来的。十几轮反馈,每轮两三条,条条都不大,加起来软件就顺手了。还有一条铁律:每发一版,测试不全绿不打包。

下一步

做「分享包」压缩包,拷给家里其他人的电脑用(还欠着)
按遗留问题清单继续打磨(跨机便携实测、合并导入的同名局限等)
继续往里录我们老闫家的真实谱系
(未完待续,下一篇见文首新的时间节点。)

相关学习资料