【1024码道创作季】用华为云码道做了个程序员健康助手,两周迭代四功能

举报
Robert Feng 发表于 2026/11/06 22:57:39 2026/11/06
【摘要】 1024 程序员节,我用华为云码道 CodeArts 纯对话式开发了参赛作品 CodeHealth 1024——终端风程序员健康助手,零手写代码。两周两轮迭代共 8 个功能:喝水打卡、番茄专注、久坐提醒、7 天趋势图、连续打卡徽章、一键生成健康周报、自定义每日目标、工位随机拉伸。纯前端三文件、零依赖,数据存 localStorage 不上传服务器。已在小红书、公众号、华为云开发者社区三渠道发布开发

缘起

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,都算数。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。