Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
詰まったときのPEIAサイクル
Search
daiki
April 14, 2021
Programming
0
4.3k
詰まったときのPEIAサイクル
daiki
April 14, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
760
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
370
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.3k
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
140
マスタデータ問題、マイクロサービスでどう解くか
kts
0
110
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
530
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
370
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
130
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
160
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
110
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
180
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
160
Featured
See All Featured
Believing is Seeing
oripsolob
0
9
4 Signs Your Business is Dying
shpigford
186
22k
Facilitating Awesome Meetings
lara
57
6.7k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.1k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
180
Designing Experiences People Love
moore
143
24k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
Scaling GitHub
holman
464
140k
[SF Ruby Conf 2025] Rails X
palkan
0
540
Transcript
詰まったときの PEIAサイクル
自己紹介 名前: カーミン エンジニア歴: 2年 (2019年新卒入社) 使用言語: Ruby (Rails), js (React) 大学での専攻: 経済、経営系 実務経験がほとんどない状態での入社
@d_murakami_0816
駆け出しエンジニアの苦悩 コードが大きい&複雑で読めない プロダクトのコードは難しくてすぐわからなくなる ・コード量が膨大 →数百、数千のファイルなんていきなり読めない ・メソッドでたらい回しにされる →「このメソッドはこのファイルで定義されてて...」 をひたすら追っていく ・ロジックが整理されていないと更に大変なことに →複雑な処理が続いてるコードは読みたくない
今回の内容 開発で詰まったときどう解決する? 対象: ・実務経験の少ないエンジニア ・実務経験の少ないエンジニアに教える人 目的: ・エラーやバグを自力で解決できるようにする ・最低限わからないところを明確にする ・教えるときに次の段階を示せるようにする
PEIAサイクル 詰まったときは挙動を見て解決する Partition (分割する) コードを分割して問題が起きている場所を明確にする Experiment (実験する) 該当箇所を色々書き換えて見て挙動の変化を確認する Infer (類推する)
挙動の変化をもとに該当箇所の内容を推測する Apply (応用する) 推測、理解した内容を他の箇所にも活かす
Partition (分割する) まずはどこがおかしいかを特定する スタート エラー発生 こんな処理の流れに対して スタート エラー発生 スタート エラー発生
正常 正常 エラー発生 中間地点を設けることでエラーの発生箇所を絞っていく
Experiment (実験する) とりあえずいろいろ入力・削除してみる ・入力変えてみる →表示やエラーメッセージの変化を見る →実は関係ないコード見てたりするかも ・コード一部省略してみる →失って初めて大切さがわかる
Infer (類推する) & Apply (応用する) A→BならA’→B’の形で予想する 2 3 5 5
8 14 ? 2 1
まとめ 詰まったときは挙動を見て解決する Partition (分割する) コードを分割して問題が起きている場所を明確にする Experiment (実験する) 該当箇所を色々書き換えて見て挙動の変化を確認する Infer (類推する)
挙動の変化をもとに該当箇所の内容を推測する Apply (応用する) 推測、理解した内容を他の箇所にも活かす