练习任务

练习:解释并排查一段给定代码

根据给定 JavaScript 代码,解释它在做什么、哪里可能出错、怎么最小修复。

练习性质真实客户场景练习 · 无现金奖励
提交人数开放练习,不限人数;每位贡献者都可提交自己的版本
审核结果通过:+25 信誉点;需要修改或未通过:不加分,按反馈重交。
当前状态开放中
练习边界题目页看材料,任务房间提交和修改

这里不是正式提交区

这页只提供客户场景、题目材料、交付物、验收标准和建议格式。正式练习结果、附件、修改说明和审核结果都必须进入任务房间,才能按版本留下可审核记录。

练习题目页

用来理解场景、上下文、材料、交付物和通过/未通过标准,不在这里提交结果。

任务房间

提交完整结果、上传辅助文件、发送澄清消息;如果要求修改,也从同一入口提交新版本。

可重复练习

没有人数名额限制。多人可以提交,平台按同一题目标准分别审核每个版本。

审核记录

结果只有通过、需要修改、未通过。只有通过的版本才记录信誉点或进入案例审核。

任务背景

你要解决什么问题

客户有一段旧订单金额计算代码。客户说 0 件赠品和缺失数量的订单金额经常不对,但还没有让你直接改生产代码。

客户系统 / 工具假设

按这些上下文理解题目

假设这是 Node.js 或浏览器前端都可能运行的 JavaScript。你不需要访问仓库,也不要重写整个模块;只做排查说明和最小修复建议。

已给材料

只能基于这些材料做判断

function total(items){
  let sum=0;
  for(const item of items){
    if(item.qty) sum += item.price * item.qty;
  }
  return sum.toFixed(2);
}

客户补充:0 件赠品和缺失数量的订单金额经常不对。
交付物

你需要提交什么

  • 代码功能解释
  • 可能 bug 和触发条件
  • 至少 5 个测试用例
  • 最小修复建议
  • 不能贸然改的地方
验收标准

怎样算一份合格结果

  • 必须提到 qty 为 0 会被跳过
  • 必须提到 price/qty 类型风险
  • 必须提到 toFixed 返回字符串
  • 不能建议无依据重写整个模块
提交格式

建议按这个格式提交

  • 可以包含小段修复示例,但重点是解释、风险和测试用例
  • 用工程师能直接检查的格式提交