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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
daiki
April 14, 2021
Programming
0
4.3k
詰まったときのPEIAサイクル
daiki
April 14, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
250
AI時代の認知負荷との向き合い方
optfit
0
160
CSC307 Lecture 10
javiergs
PRO
1
660
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
280
AI & Enginnering
codelynx
0
120
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
610
CSC307 Lecture 02
javiergs
PRO
1
780
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
310
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
660
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
330
Featured
See All Featured
How GitHub (no longer) Works
holman
316
140k
The Curse of the Amulet
leimatthew05
1
8.7k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
130
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
330
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Marketing to machines
jonoalderson
1
4.6k
Practical Orchestrator
shlominoach
191
11k
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 (応用する) 推測、理解した内容を他の箇所にも活かす