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

Ouverte
#408 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@fx-kurumi y travaille déjà.

Depuis le 13/11/2026.

  • #409 par @fx-kurumi — ouverte

Évaluation

Difficulté
1/5
Temps estimé
Moins d'une heure
Accessibilité débutants
18/100
Type d'issue
Refactorisation
Clarté
Clairement spécifiée
Activité
À l'abandon
Stack technique
go
Domaine
backend

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

现状问题

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/ 通过。
Langage dominant
Go
Étoiles
141
Forks
28
Merge moyen
1 j 15 h
PR mergées (30 j)
113

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de Tencent/LoopForge

Toutes les issues de Tencent/LoopForge

Issues similaires

Plus d'issues Go

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.