go-style
Conventions Go strictes du repo skills-transfer-hub (CLI `sth`). À utiliser pour écrire ou refactoriser du code Go dans ce repo. Deux règles dures — aucune variable à une lettre (sauf idiomes Go listés) et aucun commentaire dans le code.
- License 许可
- MIT
- 最近更新
- 2026-10-29
- Stars
- ★ 4
- Forks
- 0
01 前言 Front Matter
- name
- go-style
- description
- Conventions Go strictes du repo skills-transfer-hub (CLI `sth`). À utiliser pour écrire ou refactoriser du code Go dans ce repo. Deux règles dures — aucune variable à une lettre (sauf idiomes Go listés) et aucun commentaire dans le code.
03 SKILL.md 正文
Style Go — skills-transfer-hub
Deux règles non négociables pour tout code Go écrit ou modifié dans ce repo.
1. Pas de variable à une lettre
Tout identifiant local porte un nom descriptif : file, buffer, line, record, command, index…
Exceptions idiomatiques autorisées (et uniquement celles-ci) :
- Receivers :
func (a *app),func (c *Client)— cohérence avec le reste du codebase. t *testing.T(etb *testing.B) dans les tests.errpour les erreurs.- Index de boucle :
for i := 0; i < n; i++. Une bouclefor _, x := rangeprend un nom descriptif (for _, record := range records), pas une lettre.
Exemples :
// au lieu de
f, err := os.OpenFile(path, ...)
for _, l := range lines { ... }
for _, c := range commands { ... }
// écrire
file, err := os.OpenFile(path, ...)
for _, line := range lines { ... }
for _, command := range commands { ... }
2. Pas de commentaire dans le code
Zéro commentaire, y compris les doc-comments godoc sur les symboles exportés. Le code se documente par des noms de fonctions, de types et de variables explicites.
// au lieu de
// ReadUsageLog returns the most-recent entries, newest-first.
func ReadUsageLog(limit int) ([]UsageLogRecord, error) { ... }
// écrire
func ReadUsageLog(limit int) ([]UsageLogRecord, error) { ... }
Si une logique semble nécessiter un commentaire, extraire une fonction nommée ou renommer les variables jusqu'à ce que le code soit lisible seul.
Portée
- Aucun linter n'impose ces règles dans le repo (rien ne casse au build/CI), mais elles sont obligatoires en revue.
.github/instructions/go.instructions.mdreste plus permissif (variables courtes en boucle, commentaires « si nécessaire ») ; ce skill prime pour le nouveau code.
04 同仓库更多 Skills
sth-runtime-skill
Validates that gemini discovers an STH project skill.
sth-runtime-skill
Validates that cursor discovers an STH project skill.
sth-runtime-skill
Validates that copilot discovers an STH project skill.
sth-runtime-skill
Validates that codex discovers an STH project skill.
sth-runtime-command
Validates that codex discovers an STH project command.
sth-runtime-skill
Validates that claude discovers an STH project skill.