【架构优化】删除 domain.runTerminal 重复实现,computeRunTiming 复用 TerminalRunStatus
Mantenedores costumam responder em até 1 dia
Avaliação
- Dificuldade
- 1/5
- Tempo estimado
- Menos de uma hora
- Facilidade para iniciantes
- 25/100
Direção de pesquisa
Start in internal/domain/run_timing.go, where the private runTerminal duplicates the exported TerminalRunStatus from internal/domain/run_eval.go. Read computeRunTiming and switch its call to TerminalRunStatus, then add the test cases described in internal/domain/run_timing_test.go. Run go test ./internal/domain/ and go vet ./internal/domain/. Note that PR #464 is already open against this issue, so check it before starting.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
现状问题
internal/domain/run_timing.go 里有私有函数 runTerminal(status),判断运行是否已结束(succeeded/failed/cancelled)。同一个包的 internal/domain/run_eval.go 已有导出函数 TerminalRunStatus(status) 做同样的判断,并被 httpapi、repo 等多处使用。runTerminal 只有 computeRunTiming 一个调用方,属于同包重复实现,以后增减终态时容易漏改一处。
重构方案
- 删除
runTerminal,computeRunTiming改为调用TerminalRunStatus。 - 两者唯一差别是
TerminalRunStatus会先去掉首尾空白;运行状态由系统写入,均为规范值,不存在带空白的状态,实际结果一致。 - 补充测试:终态运行用最后的终结事件作为结束时间,非终态运行用 now。
影响范围
只改 internal/domain/run_timing.go(删 4 行、改 1 行)和 internal/domain/run_timing_test.go(新增测试)。不涉及导出接口、数据库或前端。
验证方式
gofmt、go vet ./internal/domain/、go test ./internal/domain/ 全部通过。
- Linguagem predominante
- Go
- Estrelas
- 141
- Forks
- 28
- Merge médio
- 1d 15h
- PRs com merge (30d)
- 113
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de Tencent/LoopForge
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
[Bug]: 官方镜像未安装 wecom-cli,企业微信通知报「通知服务未安装 wecom-cli」Talvez já em andamento @newexploreor assumiu há 1 dia. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Tencent/LoopForge#156 · 1 comentário · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
【架构优化】合并 gitwork/workbranch.go 中 push/pull 重复的默认提交身份注入为 withFallbackIdentityTalvez já em andamento @fx-kurumi assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 40/100
Mantenedores costumam responder em até 1 dia
-
【架构优化】从 runtime.installNPMCLI 中拆出 npm 参数拼装 npmCLIInstallArgs 与安装结果启用 activateNPMStageTalvez já em andamento @fx-kurumi assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 30/100
Mantenedores costumam responder em até 1 dia
Todas as issues de Tencent/LoopForge
Issues semelhantes
-
team:library-maintainers
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
padok-team/burrito#1208 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
bazel-contrib/rules_go#4784 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Уязвимые компоненты в GoAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
POSIdev-community/aictl#40 ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 62/100
prime-radiant-inc/evener#6306 ·
Mantenedores costumam responder em até 1 dia