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
詰まったときのPEIAサイクル
Search
daiki
April 14, 2021
Programming
0
4.2k
詰まったときのPEIAサイクル
daiki
April 14, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
個人開発で徳島大学生60%以上の心を掴んだアプリ、そして手放した話
akidon0000
1
150
AIと私たちの学習の変化を考える - Claude Codeの学習モードを例に
azukiazusa1
11
4.4k
速いWebフレームワークを作る
yusukebe
5
1.7k
Flutter with Dart MCP: All You Need - 박제창 2025 I/O Extended Busan
itsmedreamwalker
0
150
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
AIでLINEスタンプを作ってみた
eycjur
1
230
Oracle Database Technology Night 92 Database Connection control FAN-AC
oracle4engineer
PRO
1
470
GitHubとGitLabとAWS CodePipelineでCI/CDを組み比べてみた
satoshi256kbyte
4
250
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
3
310
複雑なドメインに挑む.pdf
yukisakai1225
5
1.2k
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
400
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
510
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Navigating Team Friction
lara
189
15k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Code Review Best Practice
trishagee
71
19k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Become a Pro
speakerdeck
PRO
29
5.5k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
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 (応用する) 推測、理解した内容を他の箇所にも活かす