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
160
大規模Reactアプリのリアーキテクチャ_8万行のTanStack Query移行の奇跡
cyberagentdevelopers
PRO
1
160
CA.swift19_恋するAIアプリ開発の裏側
cyberagentdevelopers
PRO
1
52
CLのウィジェット開発について
cyberagentdevelopers
PRO
1
27
少数チームで挑む: SwiftUI, TCA, KMPを用いた 新規動画配信アプリ
cyberagentdevelopers
PRO
2
48
ABEMAの課金機能の刷新について:- StoreKit2によるiOSのアプリ内課金のリニューアル
cyberagentdevelopers
PRO
0
27
同時に複数購読可能なサブスクリプションを提供する
cyberagentdevelopers
PRO
0
29
Flutter × Rive 魅力的なアニメーション
cyberagentdevelopers
PRO
0
120
Serverpodを活用したDartのフルスタックアプリケーション開発
cyberagentdevelopers
PRO
0
150
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
38
2.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
21
1.4k
Git: the NoSQL Database
bkeepers
PRO
423
63k
Into the Great Unknown - MozCon
thekraken
14
1k
Designing with Data
zakiwarfel
96
4.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
245
20k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
19
6.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Bash Introduction
62gerente
605
210k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Facilitating Awesome Meetings
lara
43
5.6k
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.