这个程序写在12年之前,当时和一些有孩子的亲属朋友聊天,他们总是说孩子几个月就会走路了,一岁就会背古诗了,但这明显就是在吹牛逼,让他们拿出一些证据却拿不出来。 我想或许他们记得这些事,但是不记得具体的时间和细节,如果有一个可以记录这些的与孩子相关的日记,那会是一件很有意义的事。
于是,我就开始编写这个程序:BabyLog。
12年前的构思
我记得当时孩子还有几个月就要出生了,我萌生这个软件的构思,但是当时我的编程能力真的是很菜,我甚至不知道如何开始编写这个软件。然后我就买了一本《PHP从入门到精通》, 研究了MySQL的一些基础知识,然后照着书上的代码开始了缓慢的软件编写。直到孩子出生了,我的软件基本功能还没有写完,只写完了信息的录入,和简单的信息的查询。
维护与重构
大约孩子三个月左右我写完了第一个版本的babylog,完成了预期的大部分功能,程序的数据写入读取,都是手动编写的,还用HTMLcss写了一个简单的柱状图图表用来展示孩子身高和体重。 但是当时还不支持上传照片,因为图片的上传功能不会写。直到后来使用PHP的框架thinkPHP,才开始支持上传图片。
后来,开始接触Java,然后使用Java重构程序,但是觉得Java的代码太复杂了,而且Java的代码也很难维护,所以就放弃了Java。后来接触了Python,发现了flask这个框架,然后使用flask重构了程序, 在后来有使用fastapi重构了程序,前后端分离了,这次算是把所有预期的功能都实现了,但是对于代码的维护还是不够好,不够理想。
继续重构
前几天,trae支持了Windows,赶紧下载了Windows版本的trae,然后使用trae重构了程序,使用trae的Builder模式,真是太方便了,我只需要写好程序的需求,然后trae就会自动生成代码,几乎没写什么代码,花了两三天的时间,就重构了程序,太爽了!
最后
项目地址:
视频演示: https://www.bilibili.com/video/BV1kbXfYkEdm
感兴趣的可以下载试试!