夜雨聆风学习资料网

ARTICLE · 1213609

老闫的族谱软件开发日志 2026-10-19

老闫的族谱软件开发日志 2026-10-19

老闫的族谱软件开发日志

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

最近更新:2026-10-19(第 9 篇)

这是一份持续更新的开发日志。我按时间节点记录「族谱管理」软件从想法到交付的全过程,每有新进展就续写一篇。本文为第 9 篇,全程文字记录,不涉及任何真实族人信息。

写在前面

我是老闫。家族修谱多年,想把老谱和新资料整理成电子版,但市面的族谱软件要么必须联网上传,要么臃肿难用。我的底线很明确:家族的资料是隐私,必须全部存在自己电脑上,一个字节都不许往外发。
我一行代码都不会写,办法是找 AI 结对:我出需求、出主意、做验收,AI 负责敲代码。规矩是:每做一个功能之前,先用选择题把边界敲清楚;每发一个版本之前,测试不全绿不打包。
上一篇(第 8 篇)写到世系窗口上线、手机版出包、农历差点冒充公历。这一篇记一天——10 月 19 日,把世系谱按老谱的样子一分为二、给老祖宗的内容上了锁、把农历公历彻底掰扯清楚,还给软件装了个"文件柜"。

2026-10-19 | 第十一天:一分为二、上锁、历法掰扯、文件柜

一、世系谱一分为二:老辈守原文,新辈上模板

世系窗口改读生成文件后,我把生成规则细细打磨了一天,最后定成一分为二:
第 8 世及以内(克字辈及以上):老谱原文一字不动照录——这些是老祖宗留下的原始记录,格式、措辞都是老规矩,不该动;
第 9 世及以下(承字辈起):按统一模板生成——姓名去掉闫姓,生卒、配偶、子嗣三项齐全,缺什么就写"未知",绝不省略。这样每个后辈的信息都整整齐齐,一眼看全。
模板里配偶那行费了心思:配偶:囤氏(桂珍)(西周)(1962年12月21日生)(2010年7月21日卒)——名后字、原籍(娘家地址)、生、卒,一样一项。原籍藏在丈夫备注的老谱原文里("囤氏(桂珍,西周)"),程序自动把它抠出来单独立一个括号。生卒同理:有就写,没有就不占地方。
这里还有个重要转变:模板段的内容直接从数据库的结构化字段生成。以前是抄备注原文,我在详情窗口改了时间,谱里纹丝不动;现在改一处、处处对。这正好也为我"新增成员检验"铺了路——新录入什么,谱里就是什么。

二、给老祖宗的内容上锁

第 8 世及以内的成员,详情窗口现在打开即锁定:输入框全部只读,保存、删除、添加按钮统统藏起来,顶上一条黄底提示"第8世及以内成员:内容已锁定,不可修改"。
道理很简单:越老的记录越要防误碰。谱传了十几世,前几世的每个字都是考证过的,手一滑改了就是大事故。锁住了,看得清、改不了,踏实。
中间出了个岔子值得记:刚上锁那会儿,所有妻子都被锁了——因为妻子在库里大多没有父亲记录,程序顺着父亲链数世代,数到妻子都成了"第1世",自然全锁。规矩改成妻子随丈夫的世代:丈夫是第11世,妻子也是第11世,可以编辑;丈夫是第4世,妻子也锁。辈分上,媳妇本就是随夫家的。

三、历法掰扯清楚了

农历公历的账,这天彻底算清了。上一篇说过老谱月日多是农历,我先一刀切全转了公历——结果我拿谱一对,错了:谱里很多日期写的就是阳历,尤其近现代的,"一九三三年十月初七日"就是公历 1933 年 10 月 7 日,不该转。
和 AI 用选择题把规则敲定,混合规则:
年号纪年(乾隆、光绪等)和民国纪年 = 农历,转公历;
腊月、冬月、正月这种只有农历才有的月名 = 农历,转公历;
"一九XX年""二〇XX年"加普通数字月日 = 阳历,原样不转。
拿之前人工核对过的四个案例一验——克宽"腊月初二"=公历1968年1月1日、玉堂"二月三十"=1871年4月19日——寿星天文历(一个专业的历法计算库)换算分毫不差。错的那版从备份恢复,按新规则重做。
顺手把库里的日期翻了一遍:第9世及以下 737 条生卒按备注原文补全了月日(锁定段一律不碰——上一条铁律)。备注里只写到月的(如"民国二十年三月"),就只补到月,没把握的精度宁可不要。

四、给软件装个"文件柜"

顶栏设置旁边加了个「文件」按钮,点一下弹出一个「常用文件」文件夹,里面分门别类:最新备份、最新日志、最新导入、最新导出、最新数据模板、世系文件(MD 和 PDF 都有)、版本信息。每次点击都自动刷新成最新的,要看什么直接打开,不用翻箱倒柜。
导出也顺手理了理:菜单改名说得更明白(导出树状图为图片、导出树状图为PDF、导出现世系为PDF),保存对话框默认直接定位到桌面,想存别处也随时能选。

五、几个按钮的账

世系按钮:以前开了世系窗口按钮不亮——样式没跟着状态刷新,修了;
详情按钮:绿色填充的逻辑反了——改成"面板正在显示才亮绿",符合直觉;
树和世系的双向高亮:上次修完这次又全面验证了一遍,496 位成员逐个过,全通。
版本收在1.3.1,五套测试全绿。正式版我自己手动更。

收个账:这一天把世系谱的"古今分界"定清楚了、老祖宗的内容上了锁、历法的账算明白了、文件也有自己的柜子了。最大的体会有三条:
越老的资料越要保守。老辈守原文、上锁防误碰;新辈才上模板、随录随更。修谱不是越"现代化"越好,是越妥当越好。
一刀切必错,规则要细分。"全按农历转"和"全不转"都错过,分清年号、月名、现代纪年才对。世上很多事都是这样。
锁定要连着想。锁了丈夫忘了妻子,全库妻子变"第1世"——规矩得顺着人情推一遍才周全。

几句掏心窝的经验

数据分层,新旧有别。考证过的历史记录和正在补录的当代信息,就该用两套规矩对待,一把尺子量到底必然出错。
批量操作先划禁区。锁定段不碰,是动库前先说好的底线;脚本里写死这条,比事后回滚省心一万倍。
历法问题没有"差不多"。农历月日当公历存,一年能错一个月、年份能错一年——差之毫厘,谱就谬以一代。
不报错的错最危险。高亮不亮、按钮不绿,都不崩、不弹窗,就是"没反应"——这类问题必须真机真数据全量验证。

下一步

新增成员检验:录入新成员,看世系谱自动写入对应信息(正做)
手机版继续补功能(暂缓中)
《族人信息(完整)》整理稿校订后导入(暂缓中)
「分享包」压缩包,拷给家里其他人的电脑用(一直欠着)
(未完待续,下一篇见文首新的时间节点。)

相关学习资料