外出先でバッグの書き込みを開始する方法
- コードの構造を決定します
- ネーミングパッケージ
- 組織パッケージ
- パッケージ開発のアイデア
- ベストプラクティスを行きます
各パッケージは、単一の責任は、単純な囲碁プログラムであります。
1.コード構造を決定
組織:+依存プレスモジュラー分割、フレームコード、サービスコードが分離され、各項目がやり方固定組織に実装しなければならない、それはコードの構造を決定することが必須です。私はあなたの参考のために、かなり良い感じ、次のような構造は、プロジェクト内の構造であり、使用します
├── api
│ ├── grpc
│ ├── http
│ └── thrift
├── cmd
│ └── main.go
├── config
│ └── prd.toml
├── internal
│ ├── app
│ │ └── service
│ │ ├── auth.go
│ │ └── user.go
│ ├── config
│ │ ├── build.go
│ │ ├── config.go
│ │ └── runtime.go
│ └── pkg
│ ├── database
│ │ └── mysql
│ ├── httpclient
│ └── redis
│ └── user.go
├── pkg
│ └── engine
└── vendor
PKG /エンジン:プラットフォーム・コード(サービスが開始されると、HTTP / grpcマウントのRedis / DBインスタンス、HTTPClientの例インターフェイス)
内部/ PKG /データベース/ MySQLの:mysqlのビジネスコードが実装
内部/ PKG / Redisのを:Redisのビジネスコードが実装
内部/ PKG / HTTPClientは:ビジネスコードを実装のHTTPClient
内部/アプリ/サービス:サービスコードのロジックを実装します
API /のhttp:ビジネスコードAPI契約
参考:https://draveness.me/golang-101
2.パッケージに名前を付けます
推奨:小文字/ブリーフ/自己説明
参照:https://blog.go-zh.org/package-names
3.組織パッケージ
推奨:コードの機能的な組織に応じて、複数のファイルを使用して
参照:http://simonblog.cn/2018/05/04/Style-guideline-for-Go-packages/
4.パッケージの開発のアイデア
4.1インターフェイスは、パラメータを受け取り、構造体を返します
参考リンク:https://studygolang.com/articles/12397
4.2トップのグローバル変数と関数
グローバル変数の使用は、それが推奨され、操作を簡素化することができ、その後使用することができます(Redisのハンドルのような、他のgopherは同意しないかもしれないが、私はそれが本当に操作を簡素化し使用し、ログは、グローバル変数の処理を使用しています)