前言
大家好,我是一诺,一个95后奶爸程序员。最近因为工作太投入,长时间盯着屏幕眼酸眼胀超难受。于是我用Cursor编程,仅用一天时间就开发出一款护眼工具,帮助自己和更多程序员告别眼疲劳。
先看效果,已发布到插件市场,欢迎反馈。
👉 一诺:保护视力小卫士(编程防疲劳助手) - Visual Studio Marketplace
科学的45-5工作法则时间管理
● 🔔 智能渐进提醒,当你沉溺代码中时,及时弹出提醒休息。
● ⚙️ 高度自定义配置(提醒间隔、休息时长、提醒风格)
● 🔍 智能检测:当检测到无操作时自动暂停计时 ● 📊 状态栏实时进度显示
这篇文章将分享我的开发历程,主要三个部分:
- 需求挖掘:使用KANO模型,找到真需求
- AI编程实战:Cursor快速实现核心功能
- 5个实用建议:普通人也能用AI实现创意
一、从痛点到需求
程序员的通病,也是我的困扰
你有没有这样的经历?
- 盯着屏幕几小时后,眼睛干涩得像撒了沙子
- 沉浸在代码中,直到脖子酸痛才回过神
- 出门被风一吹,眼泪不受控制地往外流
这些都是我的日常。尤其是干眼症的困扰,让我一度以为自己的眼睛出了严重问题,连忙去医院检查。医生的诊断很直接:没什么大问题,就是累的了。
既然问题出在不懂得休息,为什么不做一个智能提醒工具呢?
从模糊问题到具体需求
我在梁宁老师《真需求》这本书中,发现一个特别好用的需求分析模型。叫做 KANO模型 ,如图分享给大家。
KANO模型将需求分为五类:
- 必备需求:没有会不满意,有了也不会特别满意
- 期望需求:满足得越多,用户越满意
- 魅力需求:意料之外的惊喜,有则惊喜,无则无感
- 无差异需求:有无都无所谓
- 反向需求:有了反而不满意
按照这个模型,我分析了我的护眼神器需求:
必备需求(Must-be) :
- 定时提醒休息功能
- 不影响正常工作
- 提醒足够明显
期望需求(Performance) :
- 可自定义工作和休息时长
- 状态可视化(知道还有多久到休息时间)
- 提醒方式多样化
魅力需求(Delighters) :
- 智能检测工作状态,无操作自动暂停
- 提供护眼小贴士
- 休息时锁定屏幕强制休息
通过KANO模型的分析,我明确了目标:
- 目标用户:我自己和其他程序员
- 核心功能:定时提醒休息,强制中断工作
- 使用场景:主要在写代码时使用
- 参考产品:类似番茄工作法的时间管理工具
思考后,我确定了更具体的需求:
我需要一个工具,能够按照45分钟工作、5分钟休息的节奏提醒我。提醒要足够明显,但不能太烦人。在休息时要有倒计时,并能根据我的使用状态智能判断是否暂停计时。
二、AI 编程实战
选择合适的开发方式
确定了需求,接下来要选择如何实现。我考虑了几种方案:
- ❌ 开发手机App:太复杂,需要iOS和Android两个版本
- ❌ 做网页应用:使用场景不够聚焦,离开浏览器就没用了
- ✅ VSCode插件:直击程序员主战场,使用场景精准
虽然我是程序员,但我没开发过VSCode插件。这时,我已经用了半年的Cursor成了我的得力助手。
如何向AI描述需求
向AI描述需求有几个关键点:
- 具体胜于抽象:不说"做个提醒软件",而是详细描述功能
- 结果导向:专注于"做什么"而非"怎么做"
- 自然语言:虽然我懂编程,但在不熟悉的领域还是用自然预览描述需求
比如:
我想开发一个VSCode插件实现护眼提醒功能。具体需要实现45分钟工作、5分钟休息的循环提醒,如何开始?
AI给出的代码,没有编程基础的朋友,不必担心看不懂。直接告诉AI你不懂编程,请它用简单类比解释核心概念。
比如"这段代码会为我实现什么功能?"或"能用生活例子解释这个概念吗?"。始终关注最终效果,而不是实现细节。
三、迭代优化全过程
从最简原型开始
作为开发者,我知道不要一开始就求完美。先做出最简单的版本,然后逐步完善。我的第一个版本只有一个功能:定时弹出提醒。
得到这个版本后,我继续向AI提问:
我:如何在状态栏添加一个进度显示,让用户知道还有多久到休息时间
开发出来的效果
遇到问题的解决方式
即使是有经验的开发者,在新领域也会遇到问题。这时我采用了这个原则:问具体问题,指明你的背景。
例如,当我遇到VSCode插件生命周期管理问题时:
我:作为后端开发者,我理解资源管理的重要性。VSCode插件中的"disposable"看起来像是资源释放机制,它与我熟悉的后端资源管理有什么异同?
Cursor:是的,disposable确实是资源管理机制。在VSCode插件中,它类似于后端开发中的连接池释放或事件监听器移除。区别在于VSCode使用订阅模式,当插件被停用时,会自动调用所有注册的disposable的dispose方法...
注意我提问时先说明了自己的背景,这样AI能给出更有针对性的解释。
四、普通人也能用AI开发:我的5个实用建议
一诺用cursor开发有大半年的时间了,无论工作还是副业带来很大的帮助,我总结了几点建议,分享给想尝试AI编程的朋友。我会用具体案例来说明,方便大家理解和实操。
1. 从真实需求出发:解决自己的实际问题是最好的起点
案例:我有个朋友小王,每天要处理大量Excel表格,经常加班到很晚。他告诉我:"我特别希望能有个工具,自动把多个Excel文件合并,并按照日期排序。"
这就是一个真实需求!小王没有说"我要开发一个数据处理系统",而是从自己的实际困扰出发。他后来用AI开发了一个简单的Excel合并工具,每天节省了2小时工作时间。
实操建议:
- 先写下你日常工作中最耗时、最烦人的3个任务
- 思考这些任务能否通过自动化工具解决
- 用一句话描述:"我希望有个工具能帮我..."
2. 清晰描述目标:用简单语言说清楚你想要什么
案例:我另一个朋友小李想做个记账工具,他这样描述需求:
❌ "我要开发一个财务管理系统,包含收入支出记录、数据可视化、预算管理等功能"
✅ "我想要一个简单的记账工具,就像手机备忘录那样,可以记录每天花了多少钱,月底能自动统计总支出,最好能显示饼图看看钱都花在哪里了"
实操建议:
- 避免使用专业术语
- 用"就像...那样"的句式,参考你熟悉的产品
- 把复杂功能拆分成具体的小功能
3. 小步快跑:先做最简版本,再逐步完善
案例:我开发护眼插件的过程:
第一步:只实现定时提醒功能
第二步:添加状态栏显示倒计时
第三步:增加自定义配置选项
第四步:添加智能检测功能
实操建议:
- 先列出所有想要的功能
- 按重要性排序
- 只实现最核心的1-2个功能
- 使用满意后再添加新功能
4. 利用已有知识:告诉AI你的背景,获得更有针对性的帮助
案例:我有个做设计的同事想开发一个图片处理工具,她这样和AI对话:
"我是做UI设计的,熟悉Photoshop但不了解编程。我想做个工具能自动调整图片尺寸,就像Photoshop里的'图像大小'功能那样。能帮我实现吗?"
AI立即用设计相关的概念解释技术细节,让她更容易理解。
实操建议:
- 开头就说明你的专业背景
- 用你熟悉的领域概念做类比
- 例如:"我是做销售的,我想做个客户管理系统,就像Excel表格那样..."
5. 专注不熟悉的部分:将AI作为在陌生领域的指导者
案例:我有个做财务的朋友想开发一个报表工具,他这样和AI沟通:
"我熟悉Excel公式,但不懂如何做网页。我想做个在线报表工具,能自动计算数据并生成图表。Excel部分我可以自己写,但网页显示这部分需要帮助。"
实操建议:
- 明确说明你懂什么、不懂什么
- 让AI重点解释你不熟悉的部分
- 例如:"我懂Excel,但不懂如何把数据变成网页图表,能详细解释这部分吗?"
最后
一诺作为程序员,曾经习惯了用代码解决问题。但在AI时代,关键不在于你懂多少技术细节,而在于你能多清晰地描述问题和解决方案。
如果你也有自己的创意,不妨试试借助AI来实现它