You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Capstone项目Autograding失败排查及前端搜索功能问题咨询

问题排查与修正建议

一、Autograder Git错误(Exit Code 128)的可能原因及修正

  • Git权限不足:Autograding执行git命令时无仓库访问权限。检查GitHub仓库的Actions权限设置,确认Workflow拥有读取仓库内容的权限;若为私有仓库,确保Autograder使用的token具备足够访问权限。
  • 路径/命令错误:Workflow中的--prefix ./frontend可能指向错误路径,需确认仓库内frontend目录的实际位置(比如是否为./src/frontend);同时检查file=./test/student-search.test.js的路径,确保测试文件确实存在于该位置。
  • 仓库状态异常:Autograding执行前仓库可能存在未提交变更或未初始化的子模块。可在setup步骤添加git fetch --all或git reset --hard HEAD,确保仓库状态干净。

二、前端搜索代码的潜在问题及修正

  • 不必要的数组嵌套:Object.keys(response).map(key => [response[key]])将每个学生对象包裹为单元素数组,后续过滤需用student[0].name,完全可以简化为Object.keys(response).map(key => response[key]),直接得到学生对象数组,过滤时用student.name更简洁,也减少出错概率。
  • 重复请求数据:搜索词为空时调用this.getStudentData(),搜索时又重新发起this.service.getStudentData()请求。若getStudentData()已将数据缓存到组件内,搜索应直接使用本地缓存数组,避免重复请求浪费资源,同时防止数据不一致。
  • 错误处理不完善:仅在控制台打印错误,未给用户展示直观的错误提示(如页面显示“搜索失败,请重试”),用户体验差。可添加错误状态变量,绑定到页面显示错误信息。
  • 空值未处理:若response中存在无name属性的学生对象,student[0].name.toLowerCase()会抛出错误。应添加空值判断,比如student[0]?.name?.toLowerCase()?.includes(searchTerm),避免程序崩溃。
  • 内存泄漏风险:组件销毁时若订阅未取消,会导致内存泄漏。需将订阅存入Subscription对象,在ngOnDestroy生命周期钩子中取消订阅。

内容的提问来源于stack exchange,提问作者nadeeka dilrukshi rajapakshe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 07:04:54