Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
認知負荷を打開するFlutter的アプローチ
Search
CyberAgent
PRO
March 21, 2024
1
100
認知負荷を打開するFlutter的アプローチ
コードにおける認知負荷が高い状態について、その認知負荷を打開するFlutter的アプローチを紹介_
CyberAgent
PRO
March 21, 2024
Tweet
Share
More Decks by CyberAgent
See All by CyberAgent
新規開発と並走したリファクタリング戦略
cyberagentdevelopers
PRO
0
140
大規模Reactアプリのリアーキテクチャ_8万行のTanStack Query移行の奇跡
cyberagentdevelopers
PRO
1
130
CA.swift19_恋するAIアプリ開発の裏側
cyberagentdevelopers
PRO
1
44
CLのウィジェット開発について
cyberagentdevelopers
PRO
1
23
少数チームで挑む: SwiftUI, TCA, KMPを用いた 新規動画配信アプリ
cyberagentdevelopers
PRO
2
36
ABEMAの課金機能の刷新について:- StoreKit2によるiOSのアプリ内課金のリニューアル
cyberagentdevelopers
PRO
0
26
同時に複数購読可能なサブスクリプションを提供する
cyberagentdevelopers
PRO
0
24
Flutter × Rive 魅力的なアニメーション
cyberagentdevelopers
PRO
0
110
Serverpodを活用したDartのフルスタックアプリケーション開発
cyberagentdevelopers
PRO
0
140
Featured
See All Featured
What's new in Ruby 2.0
geeforr
337
31k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
The Invisible Side of Design
smashingmag
294
49k
GraphQLとの向き合い方2022年版
quramy
32
12k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
274
13k
Building Flexible Design Systems
yeseniaperezcruz
319
37k
Why Our Code Smells
bkeepers
PRO
331
56k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
244
20k
[RailsConf 2023] Rails as a piece of cake
palkan
23
4k
The Pragmatic Product Professional
lauravandoore
25
5.8k
Docker and Python
trallard
34
2.7k
Transcript
認知負荷を打開する Flutter的アプローチ
自己紹介 新垣 清奈 株式会社サイバーエージェント 23年度入社 株式会社WinTicket anies1212 #人生初登壇 #新卒1年目 #緊張しい
#汗っかき #登壇楽しむ #沖縄出身
温かい目で見守っていただけると 嬉しいです!🙏 自己紹介
None
WINTICKETの紹介 競輪とオートレースのネット投票サービス
今回お話しする内容 • WINTICKETの過去と今 • 認知負荷について • WINTICKETの今後と課題 • コードにおける認知負荷へのアプローチ •
まとめ
WINTICKETの過去と今
WINTICKETの過去と今 2022年度 1. メンバーの増加 2023年度
WINTICKETの過去と今 2. 数多くの機能開発
WINTICKETの過去と今 2. 数多くの機能開発
WINTICKETの過去と今 2. 数多くの機能開発 1年で437PRをマージ
WINTICKETの過去と今 3. コード規約の増加
WINTICKETの過去と今 認知負荷の増加
認知負荷について
認知負荷について そもそも 認知負荷とは??
認知負荷について 次の図はどっちの方が 理解しやすい?
認知負荷について
認知負荷について
認知負荷について 文字と図が離れた場所に 配置されていない画像の 方が認知負荷が低い 注意分断効果
認知負荷について 情報を処理し、理解する際にかかる 精神的なエネルギー量のこと 認知負荷とは https://www.shokasonjuku.com/ux-psychology/cognitive-load#:~:text=%E8%AA%8D%E7%9F%A5%E8%B2%A0%E8%8D%B7%E3%81%A8%E3%81%AF%E3%80%81%E3%83%A6%E3%83%BC%E3%8 2%B6%E3%83%BC,%E3%81%99%E3%81%8E%E3%82%8B%E3%81%A8%E8%A8%80%E3%82%8F%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82
認知負荷について 情報を処理し、理解する際にかかる 精神的なエネルギー量のこと 認知負荷とは https://www.shokasonjuku.com/ux-psychology/cognitive-load#:~:text=%E8%AA%8D%E7%9F%A5%E8%B2%A0%E8%8D%B7%E3%81%A8%E3%81%AF%E3%80%81%E3%83%A6%E3%83%BC%E3%8 2%B6%E3%83%BC,%E3%81%99%E3%81%8E%E3%82%8B%E3%81%A8%E8%A8%80%E3%82%8F%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82
認知負荷について 技術 認知負荷における情報とは 過去のインシデント コーディングルール ドメイン知識 仕様
WINTICKETの今後と課題
WINTICKETの今後と課題 事業も組織も もっとスケールしていきたい!
WINTICKETの今後と課題 意思決定の遅延 管理の困難 チームの一体感の欠如 責任の所在 認知負荷 育成 課題
WINTICKETの今後と課題 意思決定の遅延 管理の困難 チームの一体感の欠如 責任の所在 認知負荷 育成 課題
WINTICKETの今後と課題 認知負荷 ツール コード 機能開発ライン増加 新規ドメイン ノイズや中断
WINTICKETの今後と課題 認知負荷 ツール コード 機能開発ライン増加 新規ドメイン ノイズや中断
WINTICKETの今後と課題 コードにおける認知負荷が高い状態 考慮コスト ◦ 自分の知らない仕様や背景がたくさんあるため 判断コスト ◦ 多様な表現により、適切な判断に悩むため ※この他にもコストが存在すると思うが、代表してこの2つを取り上げている
WINTICKETの今後と課題 コードにおける認知負荷が高い状態 考慮コスト ◦ 自分の知らない仕様や背景がたくさんあるため 判断コスト ◦ 多様な表現により、適切な判断に悩むため ※この他にもコストが存在すると思うが、代表してこの2つを取り上げている これらのコストは人数・機能の増加に比例する
コードにおける認知負荷への アプローチ
コードにおける認知負荷へのアプローチ - Danger - build_runner - CustomLint - CodeMod -
DartCodeMetrics - ドキュメント(Design Doc, コーディング規約) - コードコメント - etc.. さまざまなアプローチ
コードにおける認知負荷へのアプローチ それぞれの特性を理解して、 どのアプローチが望ましいかを考える!!
コードにおける認知負荷へのアプローチ - Danger - build_runner - CustomLint - CodeMod -
DartCodeMetrics - ドキュメント(Design Doc, コーディング規約) - コードコメント - etc.. さまざまなアプローチ
コードにおける認知負荷へのアプローチ Danger Pull Requestを提出する際にチェックすべき項目をルール化し、指摘を自動化するツール
コードにおける認知負荷へのアプローチ Danger
コードにおける認知負荷へのアプローチ Danger
コードにおける認知負荷へのアプローチ Danger 考慮コストの削減 チェックすべき項目をルール化し、指摘を自動化 自分の知らない仕様や背景を削減
コードにおける認知負荷へのアプローチ build_runner Dartコードを元に、プログラムの一部または全体を自動的に生成
コードにおける認知負荷へのアプローチ build_runner
コードにおける認知負荷へのアプローチ build_runner
コードにおける認知負荷へのアプローチ build_runner 表現の抑制が可能
コードにおける認知負荷へのアプローチ build_runner 自動生成後
コードにおける認知負荷へのアプローチ build_runner 判断コストの削減 Dartコードを元に、プログラムの一部または全体を自動的に生成 多様な表現の抑制
コードにおける認知負荷へのアプローチ CustomLint Dartプロジェクトの保守性を向上させるために、パッケージ作者や開発者が独自の Lintルールを簡単に作成 できるツール
コードにおける認知負荷へのアプローチ CustomLint
コードにおける認知負荷へのアプローチ CustomLint
コードにおける認知負荷へのアプローチ CustomLint 判断コストの削減 独自のLintルールを作成 多様な表現の抑制
コードにおける認知負荷へのアプローチ CustomLint
コードにおける認知負荷へのアプローチ CustomLint
コードにおける認知負荷へのアプローチ CustomLint
コードにおける認知負荷へのアプローチ CustomLint 考慮コストの削減 独自のLintルールを作成 自分の知らない仕様や背景を削減
コードにおける認知負荷へのアプローチ さまざまなアプローチ アプローチ 効果が期待できるコスト 補足 Danger 考慮コスト DartDangerもあります build_runner 判断コスト
主にボイラープレートに機能 する CustomLint 考慮コスト 判断コスト IDE上で解析可能 ※ どのアプローチも使い方によっては、判断コスト、考慮コストを下げることが可能ですが、 大きい効果が期待できそうなコストを元に考えています
アプローチ 効果が期待できるコスト 補足 Danger 考慮コスト DartDangerもあります build_runner 判断コスト 主にボイラープレートに機能 する
CustomLint 考慮コスト 判断コスト IDE上で解析可能 コードにおける認知負荷へのアプローチ さまざまなアプローチ ※ どのアプローチも使い方によっては、判断コスト、考慮コストを下げることが可能ですが、 大きい効果が期待できそうなコストを元に考えています
コードにおける認知負荷へのアプローチ CustomLintが良さそう? 🤔
コードにおける認知負荷へのアプローチ とはいえ! なんでもかんでもCustomLintを 書けば良いってわけじゃない!!🔥
None
None
None
None
None
コードにおける認知負荷へのアプローチ コードにおける認知負荷を減少
まとめ
認知負荷について 情報を処理し、理解する際にかかる 精神的なエネルギー量のこと 認知負荷とは https://www.shokasonjuku.com/ux-psychology/cognitive-load#:~:text=%E8%AA%8D%E7%9F%A5%E8%B2%A0%E8%8D%B7%E3%81%A8%E3%81%AF%E3%80%81%E3%83%A6%E3%83%BC%E3%8 2%B6%E3%83%BC,%E3%81%99%E3%81%8E%E3%82%8B%E3%81%A8%E8%A8%80%E3%82%8F%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82
WINTICKETの今後と課題 コードにおける認知負荷が高い状態 考慮コスト ◦ 自分の知らない仕様や背景がたくさんあるため 判断コスト ◦ 多様な表現により、適切な判断に悩むため ※この他にもコストが存在すると思うが、代表してこの2つを取り上げている
コードにおける認知負荷へのアプローチ さまざまなアプローチ アプローチ 効果が期待できるコスト 補足 Danger 考慮コスト DartDangerもあります build_runner 判断コスト
主にボイラープレートに機能 する CustomLint 考慮コスト 判断コスト IDE上で解析可能 ※ どのアプローチも使い方によっては、判断コスト、考慮コストを下げることが可能ですが、 大きい効果が期待できそうなコストを元に考えています
None
認知負荷におけるコード的アプローチ コードにおける認知負荷を減少
認知負荷におけるコード的アプローチ Fin.