【1024码道创作季】用华为云码道做了个程序员健康助手,两周迭代四功能
缘起
1024 程序员节那天,我报名了码道创作季,用华为云码道 CodeArts 做了个参赛作品——CodeHealth 1024,一个终端风格的程序员健康助手:喝水打卡(进度环动画)、番茄专注、久坐提醒、7 天饮水趋势图,纯前端三个文件,零依赖。
本以为是个一次性小玩具,结果自己天天用,越用越想加功能。于是两周内迭代了两轮,上了四个新功能。这篇帖子把功能和开发过程一次讲清楚。
① 连续打卡徽章
每天喝够目标水量就点亮连击:金色数字 + 专属称号,从「起步中」一路升到「双周战士」。
连击算法:
function calcStreak() {
let streak = 0;
for (let i = 0; i < 366; i++) {
const d = state.days[todayKey(-i)];
const hit = !!(d && d.water >= state.goal);
if (hit) streak++;
else if (i === 0) continue; // 今天还没结束,不断连
else break;
}
return streak;
}
边界处理是关键:i === 0 时未达标不算断连(今天还没过完),从昨天开始数。就这一个细节,让"今晚多喝一杯还能续上"成了每天的动力。
② 一键生成健康周报
点一下「生成周报卡片」,近 7 天饮水柱状图、本周总饮水量、番茄专注数、连续达标天数,自动排版成一张 1080×1440 的终端风分享图,canvas 原生绘制、一键下载。发群里的效果意外地好——同事们开始互相晒周报。
(插图:F3_weekly_full.png)
③ 自定义每日目标
喝水量因人而异,点「设目标」500-5000ml 随意调,进度环、趋势图、连击判定全部联动刷新。状态就一个 state.goal,但联动刷新的路径要理清楚:改目标 → 存 localStorage → 重渲染水环/图表/徽章三处。
(插图:G1_goal_custom.png)
④ 工位随机拉伸
久坐提醒升级:每次触发不再说"起来走走",而是从 8 个动作库里随机派发一个——颈部米字操、扩胸拉伸、深蹲激活、远眺护眼……每个动作带具体时长。另加手动「随机拉伸」按钮,摸鱼间隙随时来一个。
(插图:G2_stretch.png)
全貌
(插图:F4_overview_v2.png)
用码道开发是什么体验
两轮迭代全部在华为云码道 CodeArts 里以对话完成:描述需求 → 智能体出代码 → 验收微调。以连击算法为例,我的原话是"要一个连续达标天数的统计,今天没达标不算断连",它直接给出带边界处理的版本,一次过。
AI Coding 改变的是想法到成品的距离——从一段对话到一个能跑的工具,中间不再隔着"改天再说"。
(插图:P7_codearts_session.png 对话实录)
页脚彩蛋
工具页脚藏了一行:
$ git commit -m "feat: 为 1024 程序员节献上健康"
给身体的每一次 commit,都算数。
- 点赞
- 收藏
- 关注作者
评论(0)