Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
詰まったときのPEIAサイクル
Search
daiki
April 14, 2021
Programming
4.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
詰まったときのPEIAサイクル
daiki
April 14, 2021
Other Decks in Programming
See All in Programming
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
330
How I Stole PSI from Android Studio - DroidKaigi2026
worker8
0
140
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
480
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
430
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
140
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
130
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
1.6k
スマート反転とウェブアクセシビリティ
camiha
0
210
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
210
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
260
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
370
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.8k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
10k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
GitHub's CSS Performance
jonrohan
1033
470k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Skip the Path - Find Your Career Trail
mkilby
1
230
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
A better future with KSS
kneath
240
18k
RailsConf 2023
tenderlove
30
1.5k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
510
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 (応用する) 推測、理解した内容を他の箇所にも活かす