🤖
Golangの開発時のメモ
モヤモヤしてる箇所
packageの命名規則
- これは best practice ありそう
ドキュメント
- あんまり書いてない
- これはprojectによるか
ファイルの命名規則
- userのdaoもusecaseも user.go になると混乱するのだけどこれはなれるのか
usecaseの命名規則
- user に関する usecaseを UserUsecase としているケースがあるが、これビジネスロジック増えると巨大ファイルになるのでは?
- それぞれのビジネスロジック同士で依存関係がないことが多いし、ビジネスロジック1つごとにファイルがあってもいいのでは?
- CreateUserUsecase, SendMessageToUserUsecase とかそういうfunction単位のイメージ
daoとusecaseの関係
- 実装によって、dao層とusecase層がごちゃまぜになってるような気がする
- dao層 : 一般的な永続化の処理
- usecase層 : dao層も用いながら、ビジネスロジックを実装する層
- というイメージだったが、実装によってはごちゃまぜになってるように見える箇所がある
interfaceの使い方
- テスト書くために mock が必要で、そのためにだけにinterface定義してる箇所が結構ある
- projectによる気もする
- 本来的には DIPの実践のために interface を使うべきではないか?と思ったりするが確信がない
Discussion