我与 Gemini 结对编程 7 天的真实全记录
从零到上线
今天,我的个人网站及后台管理系统(Admin Panel)终于正式部署上线了!
回顾这整整一周的开发过程,从写下第一行 PHP 代码,到几十次的重构、样式对齐、Bug 修复,再到最后的上线部署,Google Gemini 一直充当着我的“全栈架构师”与“24小时 Debug 伙伴”。
想通过这篇文章,详细记录这几天我与 Gemini 一起改代码、打磨功能的点点滴滴,以及为什么我越来越习惯用 AI 来辅助编程。
一、 我为什么选择 Gemini 作为“编程搭档”?
在开发这个项目之前,我最担心的是繁琐的细节消耗掉我的热情:手写 CRUD 逻辑、调教 CSS 响应式布局、各种 API 的对接、CSRF 防御、数据库预处理……如果全靠自己一行行敲,不仅费时,还容易留下安全隐患。
我选择 Gemini,主要是因为它的几个强项非常契合我的需求:
-
强大的长上下文理解能力:我经常把几百行甚至上千行的 PHP、HTML、CSS 和 JS 混合代码打包扔给它,它能准确理清全局逻辑,不会“前读后忘”。
-
安全优先的代码习惯:无论是数据库交互还是用户认证,Gemini 默认就会采用安全规范(比如 PDO 预处理语句、
session_regenerate_id防劫持、CSRF Token 验证、XSS 过滤以及 HTTP 安全响应头等)。 -
极佳的“逻辑对齐”效率:我用自然语言表达需求(比如“我需要一个带地理位置解析的访客日志页”),它就能直接输出拿来即用的模块化代码。
二、 这几天我们一起改了哪些代码?(重构与功能演进)
这几天里,网站经历了数次大改版和功能打磨。从最初的一个简单后台,一步步演化成了一个功能完备的系统:
1. 核心业务功能的全面增强
-
文章管理升级:增加了置顶、热点标记、文章内部靠右浮动广告(支持自定义图片或文字链),并对编辑器的集成进行了深度适配。
-
安全与运维配置:实现了全站维护模式一键切换、开放/关闭注册开关、指定邮箱后缀白名单注册限制,以及简单的后台安全防封禁策略。
-
访客统计与 IP 归属地解析:集成了外部地理位置 API,将简单的访问日志升级为带 IP 归属地显示、分页查询、浏览器设备判定的可视化日志面板。
-
评论与菜单模块:完善了前台菜单的动态排序、分类深度绑定以及评论流的审核机制。
2. 界面与响应式 UI 的重构
为了让手机端也能完美操作后台,Gemini 帮我重构了 CSS 和 DOM 结构:
-
设计了移动端抽屉式侧边栏(Sidebar Drawer)与全屏遮罩层(Overlay)。
-
重构了多张复杂表格在移动端的自适应滑动与卡片化展示。
三、 这几天的“踩坑”与“神级 Debug”记录
用 AI 写代码绝不是“一键生成”那么简单,最耗费精力、但也最精妙的,恰恰是这几天不断修改代码、定位排错的过程。
记录一:被 TinyMCE 富文本编辑器“背刺”
在开发“新建/编辑文章”功能时,我发现移动端的侧边栏菜单在其他所有页面都能正常展开,唯独在编辑页失效。
-
排查过程:我把代码发给 Gemini 后,它一眼指出了关键点——编辑页引入了重型的 TinyMCE 编辑器,其异步/延迟加载机制阻塞或干扰了 DOM 的解析顺序,导致页面底部的内联脚本根本没有成功绑定到
#menuToggleBtn按钮上。
记录二:“代码重构”引发的全局瘫痪
为了解决这个问题并优化结构,我决定听从建议,把所有工具函数和菜单逻辑统一抽离到 admin/admin.js 中,并在 <head> 中使用了 <script src="admin/admin.js" defer></script>。
结果刚改完,直接陷入了更大的尴尬——原本正常的页面,现在移动端菜单全部打不开了!
-
原因深挖:我再次把完整的
admin.php和admin.js贴给 Gemini 分析。Gemini 告诉我:-
admin.js里已经包含了一套菜单绑定的逻辑; -
但 PHP 文件底部还残留着旧的内联
<script>; -
admin.js加载后,底部的内联 JS 重写了onclick事件,两者发生了事件覆盖与逻辑死锁,导致菜单样式类.active被刚加上就瞬间置空。
-
-
终极解决:Gemini 建议“删繁就简”——直接删掉 PHP 底部的重复内联 JS,把所有的事件响应统一收拢到
admin.js中。
当我对代码做了“减法”、删掉底部 JS 的那一刻,所有页面的移动端菜单在一瞬间恢复了完美滑动! 这种从混乱到清爽的排错体验,简直太爽了。
四、 总结:AI 时代下的编程体验变化
随着最后一个 CSS 样式的微调完成,数据库结构整理完毕,我的网站终于正式上线运行了。
回顾这几天的开发过程,我最大的感触是:
Gemini 并没有替代我的思考,它更像是一个永远在线、知无不言的“资深全栈结对编程伙伴”。
-
我负责提出产品需求、把控交互体验、决定功能走向;
-
Gemini 负责输出标准代码、处理边界安全、排查逻辑冲突、优化冗余结构。
这几天的高强度开发,不仅让我收获了一个满意的网站,更让我体验到了前所未有的开发效率。未来的更新维护,我依然会和 Gemini 一起,继续给这个小站点折腾更多好玩的新功能!

💬 评论列表 (0)
暂无评论,快来抢沙发吧!
发表评论