Les bonnes pratiques

Par fdifolco, 7 février, 2025
Page couverture du livre Learning Go de Jon Bodner

Comme vous le savez déjà mon Blog portera sur mon amour pour le language de programmation Go. Au file de mes blogs, vous aurez mon avis sur le livre Learning Go de Jon Bodner. De plus, ce blog servira à renforcer mes connaissances du language car je devrais traduire les concepts du livre et les verbaliser en ajoutant mon opinion.

Les bonnes pratiques

Module ou Package ?

Dans la plupart des langages, on nomme Package une bibliothèque de classes et Module une classe ou un fichier contenant des fonctions.

💡

En Go, c’est l’inverse. Cela peut prêter à confusion, mais bon !

Jon BODNER, Learning Go: An Idiomatic Approach to Real-World Go Programming, Sebastopol, O’Reilly, 2024, p. 22


Nommer un module

Un module devrait être nommé avec l’URL de la plateforme d’hébergement Git.

go mod init github.com/<username>/<répertoire>
💡

Cela vous assure d’avoir un module unique dans le monde et évite les conflits de noms.

Jon BODNER, Learning Go: An Idiomatic Approach to Real-World Go Programming, Sebastopol, O’Reilly, 2024, p. 224


Go mod tidy

La commande go mod tidy examine les mots-clés import dans chaque fichier Go et ajoute les dépendances dans le fichier go.mod afin que vous n’ayez jamais à le modifier directement.

💡

Vous ne devriez jamais avoir à modifier directement le fichier go.mod.

Export

Go a une façon bien particulière de gérer l’exportation des variables ou fonctions. En effet, une variable, fonction ou structure dont le nom commence par une lettre majuscule est automatiquement publique et peut donc être appelée depuis un autre package.[^4]

package math

// Public **accessible partout où le package math est importé**
func Double(a int) int {
	return a * 2
}

// Privé **uniquement accessible à l'intérieur du package math**
func triple(a int) int {
	return a * 3
}
💡

Go n’a pas de mot-clé private ou public.

Jon BODNER, Learning Go: An Idiomatic Approach to Real-World Go Programming, Sebastopol, O’Reilly, 2024, p. 4


Notre ami le compilateur

Go est très strict sur l’utilisation des variables et des packages importés. Le programme ne compilera pas si vous avez des variables locales ou des packages importés non utilisés.

💡

C’est parfois dérangeant quand on veut faire une démonstration, mais je trouve que cela manque à plusieurs langages.

Jon BODNER, Learning Go: An Idiomatic Approach to Real-World Go Programming, Sebastopol, O’Reilly, 2024, p. 32


Conclusion

Au fil des semaines, je continuerai à lire le livre et à vous donner mon opinion sur les différentes particularités du langage ainsi que sur mes découvertes.


Bibliographie

  • Jon BODNER, Learning Go: An Idiomatic Approach to Real-World Go Programming, Sebastopol, O’Reilly, 2024, 468 p.

Étiquettes

Commentaires