アーキテクチャを意識して変わったマインド
アーキテクチャを考えるきっかけ
私はAndroidアプリをKotlinを使用して作成しています。
そして私自身のコンプレックスとして高専3年後半から本腰を入れたため、スキル面で周りとの差がとても大きいというものを持っていて、早く差を埋めたいというのがあります。
また、FatActivity(Activity にビジネスロジックが書かれていてコードが長く可読性を損なう問題)に直面していたというタイミングも相まってMVPアーキテクチャを学び出しました。
MVPやMVVM、Fluxアーキテクチャ等は学習過程とともに備忘録を書こうかと思います。
アーキテクチャ導入によりコードに対するマインドが変わったか
以前のマインドとしては、機能の実装ベースでどのようにコードを書けば実装できるか、いかに綺麗なコードを書けるか、わかりやすいかを考えてコードを書いていました。
アーキテクチャを一通り学んで書き始めた後のマインドとしては、この部分のコードはどこの責務なのか、必要なデータはどう取得するか、データの流れはどういう風にしていかに疎結合にするかを考えるようになりました。
アーキテクチャ学習後は今まで意識していなかったテスト面や責務、データフローについて考えられるように変わっていきました。
学習前 → 学習後
綺麗に実装 → 責務やデータフロー、テストを意識
なぜ変わったか
この点に関しては、元々責務ごとにクラスを分ける考えが薄かったり、設計によって得られるメリットを理解していなかった点が強く影響していると推察します。
アーキテクチャを学習して得られるメリットなどを理解した上で再度コードと関わってみて責務やデータフローを意識して書くと、綺麗でわかりやすいコードが自然に出来上がっていることに気づいたという点も大きかったと思います。
今まで必要性が理解できなかったinterfaceについても理解を深められ、必要性もわかりました。
なので、ある程度学習した際はアーキテクチャなどに触れるのもとてもいい学習法なのではないかと思いました。
感想
成長と達成感をすごく得られるいい機会になったのでこの調子で手を出せていないテストなどにもちょっかい出していきたいと思います....!