Go: golang-standards/project-layout より公式のモジュール構成ガイドを優先する
コミュニティの golang-standards/project-layout は「標準」ではない。Go 公式のモジュール構成ドキュメントに沿い、最初はシンプルな配置(go.mod 直下にパッケージ、必要になってから internal/ や cmd/)で始める方が混乱が少ない。
どんな時に使う?
- 新規モジュールのディレクトリを切るとき
/pkg/internal/cmdを最初から全部作るか迷ったとき- レビューで「標準レイアウトに合わせて」と言われたが、根拠がコミュニティリポジトリだけのとき
指針(要約)
- 公式: go.dev/doc/modules/layout
- 公開するライブラリは、インポートパスがそのまま使いやすい浅い構造を優先
- アプリのエントリは必要なら
cmd/<name>、外から触らせない実装はinternal/ - 「将来のため」の空ディレクトリや、使っていない層の追加は避ける
注意点
- チーム内で既に project-layout 系の慣習があるなら、移行コストと相談する。
- 公式ドキュメントの改訂に追従すること(日付時点の URL を確認)。
出典
- @haruyama480 2026-06-09: @haruyama480 · 2026-06-09
- Go 公式: go.dev/doc/modules/layout