絵描きエンジニアの日常スマートフォン用の表示で見る絵描きエンジニアの日常この広告は、90日以上更新していないブログに表示しています。2019-04-29最近コードを書くときに考えていること最近Rubyを書くことから少し離れてKotlinをメインに書くようになったので、最近どんな事を考えてコードを書いているか書いてみる。ValueObjectに注目するとにかくクラスをサボらず作る。すると大体はValueObjectになる。ロジックの置き場はとにかくValueObjectにおいていく(というか自然な場所を探すと大体そうなる気がする)Listみたいなコレクションもクラスにラップする。区分の組み合わせから値を導き出すとかよくあるロジックだけど、抽象度がだいぶ低いので隠して名前をつけたい。Connectのresponse_typeとか。Connectの仕様によると、response_type(3種類の列挙値)は組み合わせ可能で、組み合わせによって選択されるフローがかわる。みたいなメソッド生やすのが良いのかなーとか思ったり。永続化層をできるだけ意識させないRDBに保存するとかHibernateやMybatis使うとかそのへんをあまり意識させないようにする。infrastructure層から外にライブラリの都合を出したくないなー。ORMを置き換えたりデータストアを置き換えるのはそうそうないと思うけど、なんだか気持ち悪いや。生やすメソッドはRDBのRepositoryならjava.util.Listっぽいかんじ。RedisみたいなKVSならMapっぽい感じのメソッドがあるとよさそう〜。あとfindByXXX系のfinder系のメソッド。Transactionはapplication層でかけちゃうけどこれいいのかな・・・これってインフラ都合じゃね・・・?とか思わなかったり。クラスの依存関係に気を配るArchUnitを入れてレイヤー間の依存関係、サブパッケージ間の循環依存に気を配れるようにする。テストが落ちたらなにかモデリングがまずそうなので考え直す。値の範囲に気をつけるValueObjectの取りうる範囲が分かっていると考えることが一気に減るので考えるのが楽になる。区分なら列挙だし、期間なら小さい日付から大きい日付の間、個数なら0以上、X以下になりそう。BYやMIN/MAXをDBに打って値の取りうる範囲を見つける。大体変な値が入っていてDBのお掃除をするところから始まったりする。BYを打ったら謎の区分が出てきて膝から崩れ落ちる回とかも発生しがちなので心を強く持つ。みたいな感じでバリデーションかけられるか調べてみても良さそう。QUERYなら謎の技術でめっちゃ早い。indexとか存在しない世界なのでとりあえず殴っていける。おわりたぶんこんな事考えながらコードを書いたりしてる。19:19最近コードを書くときに考えていることTweet広告を非表示にする関連記事2019-04-25技術的な判断をするときの考え方を文字にしてみる会社に新卒が入ってきて、判断をするときにこういうこと考える...2018-12-23送金メソッドを考えるこれは例だが、口座Aから口座Bへお金を送金するといった処理を...2015-12-22AquaFXがいい感じこの投稿はJavaFXアドベントカレンダーの22日目の記事です。2日目kubernetesに入門してみる見積もりの差分から議論したいね月別アーカイブはてなブログをはじめよう!orekyuuさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。