【架构优化】删除 domain.WorkflowDefinition 中无调用方的 GroupMemberIDs/HasGroupMember 死代码

Abierto
#408 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@fx-kurumi ya está trabajando en esto.

Desde el 13/11/2026.

  • #409 de @fx-kurumi — abierto

Evaluación

Dificultad
1/5
Tiempo estimado
Menos de una hora
Aptitud para principiantes
18/100
Tipo de issue
Refactorización
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
go
Área
backend

Línea de trabajo

The two dead methods, GroupMemberIDs and HasGroupMember, live in internal/domain/workflow.go; run grep -rn "HasGroupMember\|GroupMemberIDs" first to confirm there are no callers. Keep the GroupMembers field and its JSON tag, since engine/run_start.go uses it. Done when both methods are removed and go build ./... and go test ./internal/domain/ ./internal/engine/ pass. A linked pull request (#409) is already open, so check it before starting.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

现状问题

internal/domain/workflow.go 中 WorkflowDefinition 的两个方法没有任何调用方:

  • HasGroupMember(id string) bool:全仓库 0 处调用(含测试);
  • GroupMemberIDs() []string:唯一调用方就是 HasGroupMember。

二者位于 internal/ 包,仓库外无法引用,属于死代码;同时 HasGroupMember 里还有一段可被 slices.Contains 替代的手写查找循环,留着会误导读者以为群组成员判断仍走这里。

重构方案

  • 删除 WorkflowDefinition.GroupMemberIDs 与 WorkflowDefinition.HasGroupMember 两个方法(共约 24 行)。
  • 保留 GroupMembers 字段及其 JSON 标签 groupMembers 不动(持久化/接口契约),engine/run_start.go 对该字段的使用不受影响。

影响范围

仅 internal/domain/workflow.go;无调用方,对外接口与运行行为不变。

验证方式

  • grep -rn "HasGroupMember\|GroupMemberIDs" 确认无残留引用;
  • gofmt、go vet ./internal/...、go build ./...、go test ./internal/domain/ ./internal/engine/ 通过。
Lenguaje dominante
Go
Estrellas
141
Forks
28
Merge medio
1 d 15 h
PR fusionados (30 d)
113

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Tencent/LoopForge

Todos los issues de Tencent/LoopForge

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.