Les règles implicites qui façonnent chaque revue de code Go

Les six premiers commentaires sur votre nouvelle pull request Go ne portent pas sur la logique, mais sur la casse, les noms de récepteurs ou un paramètre de contexte manquant. Derrière chaque détail se cache la même source : le wiki Code Review Comments de Go, l’équivalent le plus proche d’un conseil de style officiel pour ce langage. Né de années de retours des mainteneurs de Go, cette liste impose discrètement dix règles qui préviennent de véritables bugs, bien au-delà des préférences esthétiques.
Pourquoi les erreurs en minuscules comptent
Les messages d’erreur en Go ne sont pas des phrases autonomes : ce sont des fragments assemblés avec des wrappers %w. Capitaliser la première lettre ou ajouter un point crée un bruit visuel dans la chaîne finale. Une erreur en minuscules et sans ponctuation comme « failed to open config » s’intègre proprement dans « load settings: %w », donnant « load settings: failed to open config: permission denied ». Exception : les chaînes commençant par un acronyme exporté comme HTTP ou TLS conservent leur casse d’origine.
La cohérence l’emporte sur la flexibilité pour les récepteurs
Choisir entre un récepteur par valeur ou par pointeur ne relève pas de la décoration : cela modifie les méthodes réellement proposées par un type. Un Cache aux récepteurs mélangés expose soudain un ensemble de méthodes à moitié par valeur et à moitié par pointeur, brisant la satisfaction d’interface pour les appelants qui attendaient une forme cohérente. Plus important encore, si une méthode doit muter un état partagé (ou intégrer un sync.Mutex), toutes les méthodes devraient utiliser un récepteur par pointeur ; sans cela, les appelants risquent de copier une valeur destinée à être partagée. Utilisez systématiquement le même nom court — c pour Cache — dans chaque méthode pour réduire le bruit.
Source : DEV Community. Synthèse éditoriale assistée par IA — TechnoExpress.

