Organisation du code et gestion des dépendances
Comprendre l'importance d'une bonne organisation du code
- La qualité du code dépend grandement de son organisation.
- Une structure de code bien organisée facilite la maintenance et l'évolution du code.
- Permet une meilleure collaboration entre développeurs en rendant le code plus lisible et compréhensible.
- Réduit les erreurs et les bugs en limitant les zones de codes redondants ou inutilisés.
Principes de l'organisation du code en Go
- Le langage Go adopte une organisation de code conventionnelle pour garantir la lisibilité et l'uniformité du code.
- La structure standard d'un projet Go comprend généralement les dossiers suivants :
cmd
, pkg
, internal
, api
, web
, scripts
, third_party
, vendor
, test
, docs
.
- Les codes sources des commandes exécutables sont généralement placés dans le répertoire
cmd
.
- Les librairies réutilisables sont placées dans
pkg
, les librairies privées dans internal
.
api
contient les définitions des APIs, web
contient les ressources web statiques, scripts
contient les scripts de build ou d'installation.
Structure des projets Go
- Exemple de structure d'un projet Go:
myapp/
├── cmd/
│ └── myapp/
│ └── main.go
├── pkg/
│ └── mylib/
│ ├── mylib.go
│ └── mylib_test.go
├── api/
├── web/
├── scripts/
├── third_party/
├── vendor/
├── test/
└── docs/
Gestion des dépendances dans Go
- Go utilise un système de gestion de dépendances appelé Go Modules.
- Avant Go 1.11,
dep
était l'outil de gestion des dépendances recommandé, mais a été remplacé par Go Modules.
Introduction à Go Modules
- Go Modules est introduit dans Go 1.11 et devient le système standard pour la gestion des dépendances dans Go 1.13.
- Go Modules offre une solution pour la gestion des versions de paquets, leur compatibilité et leur téléchargement.
Mise en place et utilisation de Go Modules
- Pour initialiser un nouveau module, utiliser
go mod init [module path]
.
- Les dépendances sont automatiquement ajoutées au fichier
go.mod
lors de la construction du projet avec go build
ou go test
.
- Pour ajouter manuellement une dépendance, utiliser
go get [package@version]
.
- Le fichier
go.sum
contient les sommes de contrôle attendues pour le contenu spécifique de chaque module.
Résolution des problèmes courants avec les dépendances
- Pour mettre à jour toutes les dépendances à leur dernière version, utiliser
go get -u
.
- Pour supprimer les dépendances inutilisées du fichier
go.mod
, utiliser go mod tidy
.
- En cas de problèmes de dépendances, il peut être utile de vider le cache avec
go clean -modcache
.