フレームワークのソースコードから知識を深める
by
Tomoki Kawajiri
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
フレームワークのソースコードから 知識を深める 株式会社おてつたび 川尻智樹
Slide 2
Slide 2 text
株式会社おてつたび リードエンジニア 川尻 智樹 @tomoki_kawajiri 前職の楽天のアクセラレーションプログラムを きっかけに代表の永岡と出会い、創業当初か らプロダクト開発全般に携わる。 現在は Rails と React、楽天時代はバックエンド メインで Java や Python で開発
Slide 3
Slide 3 text
短期的・季節的な人手不足で困っている地域の方々と、地域に 興味がある方が出会えるマッチングプラットフォーム おてつたび 登録ユーザー数は2.3万人、 受入先は全国47都道府県 700事業者に拡大
Slide 4
Slide 4 text
こんなこと思ったことありませんか? ● 大規模アプリや長期的にアプリを運用するためには、どのよう な設計がベストなのか ● 既存システムやフレームワークに慣れて、同じような設計や コーディングスタイルになっている
Slide 5
Slide 5 text
参考書や記事を読んでも知識は広がるが 実運用をあまりイメージできない。。 こんなこと思ったことありませんか?
Slide 6
Slide 6 text
フレームワークのコードを追う フレームワークは情報の宝庫 何が得られるのか ● 設計パターンの参考になる ● 可読性について考えさせられる ● フレームワークの知識が深まる ● デバッグスキルが上がる
Slide 7
Slide 7 text
設計パターンの参考になる ● 依存関係 ○ クラス同士の依存関係から、責務の分離の単位や継承の 関係性を探る ● 全体像から把握 ○ 点ではなく線でデータの受け渡しの流れを追えるので、新 たなレイヤーや概念に出会える ● 新しい概念に出会えて実装方法もイメージもつけられる
Slide 8
Slide 8 text
設計パターンの参考になる 明確な責務の分離 ビジネスロジックのカプセル化 MVCと豊富な機能を提供 最低限の下地で柔軟性が高い おてつたびでは、ビジネスロジックがモデルやコントローラーに散らばっていた り、Fat化により保守性が下がっていた実情をTrailblazerの思想を一部導入する ことで改善しました
Slide 9
Slide 9 text
可読性について考えさせられる ● ワンラインで書けるが、敢えて意味が分かる変数に代入して 複数行にしている ● 行数は増えても、使用頻度の低いメソッドよりは高いメソッドを 使っている ● 用途が違う場合は共通化していない などなど
Slide 10
Slide 10 text
フレームワークの知識が深まる ● 新たなメソッドや応用パターンの出会い ● コメントから正しい使い方を知る ● 知らない設定値や継承できるクラス・メソッドが見つかり、選択 の幅が広がる
Slide 11
Slide 11 text
デバッグスキルが上がる ● エラー内容から原因箇所へ早く辿り着けるようになる ○ エラーメッセージやエラーが発生したクラス名に見覚えが ある ○ データの流れを把握しているので、最短ルートで追うことが できる
Slide 12
Slide 12 text
デバッグスキルが上がる ひいてはこれを使うとこのエラーハンドリングも必要だと事前に気 づけるようになり未然に防げるようになる
Slide 13
Slide 13 text
まとめ 答えは全てソースコードの中にある ● フレームワークは大きなソースコードの塊と捉える、スケール できる設計にするために大事な責務の分離や可読性の参考・ 反面教師になる ● 将来発生しそうな問題点を知ることができる
Slide 14
Slide 14 text
まとめ 可読性 ● 大規模アプリをチームで運用するにあたり可読性を下げる要因 ● 深すぎる継承や依存によるブラックボックス化 保守性 ● 最小限でコード修正できる書き方 ● ユースケースが違う場合は冗長を許容する ● フレームワークの理解が深まりるので、多くの選択肢からソリューションを 提供できる
Slide 15
Slide 15 text
おてつたびでは、新しい旅の形を一緒に作っていく仲間を募集中です まずはカジュアルにお話ししましょう! 会社概要 Meety ありがとうございました