3/20に参加したデブキャンの成果記録です。
1. 個人開発ツール
カレンダーぺージを追加
まだまだ殺風景ですが、今後カレンダーに機能を追加していきます。
・予定を追加、管理できる
・アンケート結果を確認できる
・発表スライドを確認できる
2. オブジェクト指向プログラミングについて
社内輪読会で議論中の「オブジェクト指向」について、個人開発ツールと絡めて理解を深めていきたく改めて読み直ししました。
輪読会の記事はこちらから
https://qiita.com/michida/items/b3615d018fb88409f730
https://qiita.com/fumiya-uehara/items/2a0e521b725ef0a48e19
以下の状態を目指してアウトプットしていきます。
- 「なんとなく分かった!」な感覚が多いので、自分の言葉で説明できるようになりたい。
- 分かった気になっても良いが、自分の中でしっくりくる言葉を持っている状態になりたい。
(もし解釈が違ったらご指摘頂けるとうれしいです🙇🏻♀️)
ポリモーフィズム(多態性)とは
- 異なるクラスでも、「このクラスはこのインタフェースを持ちます!」といった記述をすることで、同じものとして扱うことができる
- ポリモーフィズムはインタフェースを使って実現すると良い
ポリモーフィズムを使うと何が良いのか
- 呼び出す側は「処理がどこで何をしようがどんなところから値を取ってこようが」そんなことを意識せずに、思い通りの型・データを受け取れる
- インタフェースを挿入することでソースコードの制御の流れに関わらず、依存関係の方向を逆転することができる
インタフェースとは
- クラスに実装する処理の約束事(シグネチャ:メソッド名、戻り値の型、引数の型)を宣言することで、「どんなデータを返す」を約束する
- インタフェースには処理の中身は実装しない
まとめ
せっかくポリモーフィズムについて学んでるから使ってみよう!と使ってみたものの、
開発規模や開発人数によって取り入れるべきか否かを判断する必要があることを伺い、
今回の個人開発ツールの規模では不要と判断しました。
実際実装しているときも、恩恵を感じられず「ポリモーフィズムのメリットとは」と迷走してたので
先輩方に相談してよかった。。理解が深まりました。(たぶん)