[[Go]]の命名規約について。 ## モジュール名 [[モジュール (Go)|モジュール]]名は[[ケバブケース]]にする。 - [Effective Go \- The Go Programming Language](https://go.dev/doc/effective_go) には記載がない - [[モジュール (Go)|モジュール]]名は[[GitHub]]の[[URL]]に依存するため、[[URL]]の流儀に従った方がいい ## パッケージ名 [[パッケージ (Go)|パッケージ]]名は可能な限り、1単語で表現する。 - [Effective Go \- The Go Programming Language > Package names](https://go.dev/doc/effective_go#package-names) に記載がある やむをえず複数単語になる場合は、小文字のまま結合する方法、[[ケバブケース]]、[[スネークケース]]などが見受けられる。 ## ディレクトリ名 ディレクトリ名は可能な限り、1単語で表現する。 - [[パッケージ (Go)|パッケージ]]名が複数単語を結合する命名なので、それに引きずられるため - [[Go]]の開発元である[[Google]]のリポジトリ、[[gVisor]]もそのようになっている やむをえず複数単語になる場合は、小文字のまま結合する方法、[[ケバブケース]]、[[スネークケース]]などが見受けられる。 ## ファイル名 ファイル名は可能な限り、1単語で表現する。 - [[Go]]の開発元である[[Google]]のリポジトリ、[[gVisor]]もそのようになっている やむをえず複数単語になる場合は、小文字のまま結合する方法、[[ケバブケース]]、[[スネークケース]]などが見受けられる。 ただし、テストファイルは例外。`hoge_test.go`はよく使う。