如何完成一个项目——个人开发经验记录与思考
前言
相信这样的情况一定不少见。
突然间冒出了一个灵感,随后在心里慢慢酝酿、打磨。
你相信这个灵感能转化为一个优秀的项目,但当你真的开始动手时,你会发现,一些部分设想虽好,但难以实现;有些细节动手前没有考虑到,但实际处理起来十分麻烦。
随着时间推移,你对这个项目的热情也逐渐衰减……
最终,这个项目或是投入的时间越来越少,直至被你遗忘;或是直接被你宣告烂尾……
这样的问题,我相信每个人或多或少都会遇到,但却很少认真面对。于是,我想在这里记录我开发过程中的经验与思考,并希望能理出点头绪。
记录
2026.5.26
前些日子我一直在搞一个基于Flutter的阅读软件项目。这个项目我搁置了两个月,因为那期间事情太多,没有时间和精力。现在时间有余裕了,这个项目也就重拾了起来。
项目重新开始后,我做的第一件事就是给项目接入AI,事实证明,这一举措是完全正确的,没有AI,我不可能在短短的几天内,就完成了人工编码需要数个星期的工作量。
不过,虽然AI足够好用,但其也会带来一些问题。
首先是你不知道AI究竟做了什么,可能会造成什么问题。
我目前利用AI来进行界面的编写,毕竟我自知没这个天分。但是AI在编写界面的过程中,很可能踩坑,一旦出了问题,你完全没办法纠正。
例如原本AI用了嵌套Navigator来编写布局,来满足我的一些需求,但却带来了程序无法正常退出的问题,以及过度耦合,完全没有拓展性的代码。
最后不得以,只能把这部分全部推倒重来。
其次是AI的代码质量问题。可能是我初用AI的缘故,AI生成的代码虽然直接完成的需求,但却完全没有考虑解耦、复用、优化代码。
不得以,我只能每生成几段代码,就要考虑如何改进架构、如何给AI写的代码解耦,好在这部分只要有了改进的思路,再交给AI,其自身就能完成。
最后,我认为,AI虽然能提高效率,却在不断降低程序员对原理的掌握、经验的积累。使用AI虽然能提高开发新功能的效率,却降低了人处理错误的能力。
就像上面那个出了问题只能完全推倒重来的例子,如果不是因为出了问题,可能我到软件开发完毕,也不会去了解Flutter的设计,原本的代码究竟在哪里踩坑了、如何规避这样的问题。这很值得深思。
我认为,这样处理错误的经验,对原理的理解,才是一个程序员的立身之本。不然只是随时可以被替代的调包侠罢了。
回到如何避免烂尾这个大主题上来,我认为利用AI是第一步,做出成果,才有正反馈,才能激励一个人继续深入工作并学习下去。