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
4年の開発が積み重なったアプリへのリファクタリング手法
Search
Jun Ikeda
March 12, 2018
Technology
2.6k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
4年の開発が積み重なったアプリへのリファクタリング手法
Jun Ikeda
March 12, 2018
Other Decks in Technology
See All in Technology
Devin プロモコードの受け取りと適用(2026.10.27)
kinopeee
1
630
ビジネス部門からPOを迎えての半年間の進歩と課題
zozotech
PRO
0
150
Agent 活用環境の構築・運用のための AWS サービスのご紹介/agentcore-for-building-and-operating-agents
ren8k
1
210
AIコーディングエージェント開発_全体像
happysamurai294
0
110
「社外イベント=意識高い」の壁を壊せ!元々無関心だった僕らが部内で社外イベントを民主化して15人を連れ出すまで
say_no_w
0
160
Draft AIエージェントの トークン消費を最小化する 8つの原則
kinopeee
6
1.8k
野良MCPサーバーを排除せよ!MCPサーバーのガバナンス
yukiogawa
1
250
Snowflake でできることが増えたら、 ABAC が必要になった
kaeton
0
110
Autonomous AI Lakehouse - Live AI Hubから始めるセキュアなAIデータ活用 -
oracle4engineer
PRO
2
160
CSS2026:OWS研究会・招待講演「世界観を、実装する」
atsush1_sada
2
340
構造で守らせる データ・法務・セキュリティ・開発チームとつくる AI時代のデータガバナンスとデータ基盤のリアル
legalontechnologies
PRO
2
610
Claude Code をローカルとサーバー上で利用した際の Bedrock 利用料をユーザー単位で一本化してみる
ohorig
0
170
Featured
See All Featured
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
350
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Mind Mapping
helmedeiros
1
410
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
490
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
530
Designing Powerful Visuals for Engaging Learning
tmiket
1
620
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
850
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
310
Transcript
ͷ։ൃ͕ੵΈॏͳͬͨ ΞϓϦͷϦϑΝΫλϦϯάख๏ :BIPP+"1"/ాಯ 1
w γεςϜͱνʔϜΛΔ w ͏ٕज़ΛܾΊΔ w औΓΜͰ͍Δઃܭख๏ w औΓΜͩ݁Ռ ࣍ 2
˞͋͘·Ͱख๏ઃܭͷҰྫͰ͢ɻ 3
γεςϜͱνʔϜΛΔ 4
w ݄ʹϦϦʔεͯ͠ܦ͍ͬͯΔ w .71.77.ͳͲͷΞʔΩςΫνϟະಋೖ w "DUJWJUZ'SBHNFOUʹϩδοΫ͕࣮͞Εͯ ͍ΔՕॴଟ͍ w ࣭ͱ։ൃεϐʔυͷ୲อ͕͍͠ঢ়ଶʹ :BIPPχϡʔεΞϓϦ
5
νʔϜͷঢ়گ w "OESPJEΤϯδχΞ໊ɻ w "͞Μɿ͘Β͍୲ w #͞Μɿ͘Β͍୲ w ࢲɿ݄͔Β୲ 6
w .71.77.ͳͲͷΞʔΩςΫνϟະಋೖ w 7JFXʹϩδοΫ͕࣮͞Ε͍ͯΔ w ਓͷதͩͱ͕ࣗҰ൪ઃܭͷܦݧ͋Δ ίʔυݹ͍͠ɺͬͦ͘͞ϦϑΝΫλͯ͠Δʂ 7
w ؒ.71.77.ͷΈͳ͠ w 7JFXʹϩδοΫ͕࣮͞Ε͍ͯΔ w ਓͷதͩͱ͚ࣗͩγχΞΤϯδχΞɺઃܭͷܦݧ͋Δ ίʔυݹ͍͠ɺͬͦ͘͞ϦϑΝΫλͯ͠Δʂ μϝ 8
͍͖ͳΓணख͠ͳ͍ w αʔϏεγεςϜͷ͜ͱΛΒͳ͍ͱྑ͍બ͕Ͱ͖ͳ͍ɻ w ։ൃνʔϜͰߦ͏ͷɻνʔϜϝϯόʔΛΔ͜ͱେɻ w ݱίʔυͰଟ͘ͷϢʔβʔʹͬͯΒ͍ͬͯΔ͠ɺ ച্্͍͛ͯΔɻಈ͍͍ͯΔίʔυʹͬͱϦεϖΫτΛɻ w ϲ݄͘Β͍։ൃۀΛߦ͍ͳ͕Β؍ͨ͠ɻ
9
؍ɿγεςϜΛΔ w ϩʔΧϧ%#ͷΩϟογϡ w هࣄछผͷ͕ࣝଟ͍ ΧςΰϦɾτϐοΫεɾ߸֎ w #''ͳ͘ɺෳͷ"1*Λୟ͍ ͯͭͷϦετΛ࡞Δ͜ͱඞ
ཁ γεςϜͷಛੑ 10
؍ɿγεςϜΛΔ w ϩʔΧϧ%#ͷΩϟογϡ w هࣄछผͷ͕ࣝଟ͍ ΧςΰϦɾτϐοΫεɾ߸֎ w #''ͳ͘ɺෳͷ"1*Λୟ͍ ͯͭͷϦετΛ࡞Δ͜ͱඞ
ཁ γεςϜͷಛੑ w σʔλऔಘઌΛநԽ͍ͨ͠ w ಛఆൣғͷؔ৺ࣄΛՕॴʹू ͍ͨ͠ w ෳͷ"1*͔ΒඇಉظͰऔಘɺ ͪ߹ΘͤɺΈ߹Θͤ ղܾ͍ͨ͜͠ͱ 10
w ΞϓϦʹݶΒͣ χϡʔεαʔϏεͷ͕ࣝ๛ w 7JFXपΓͷ࣮͕ಘҙ w 3Y+BWB%*ͷܦݧ ͋·Γͳͦ͞͏ ؍ɿνʔϜΛΔ 11
w ΞϓϦʹݶΒͣ χϡʔεαʔϏεͷ͕ࣝ๛ w 7JFXपΓͷ࣮͕ಘҙ w 3Y+BWB%*ͷܦݧ ͋·Γͳͦ͞͏ ؍ɿνʔϜΛΔ w
ͷڥքਓʹஅ ͯ͠Β͓͏ w ະܦݧͷٕज़Λͨ͘͞Μಋೖ ͢Δͷֶशίετߴ͍ 11
͏ٕज़ΛܾΊΔ 12
ࢦ͢͜ͱΛ໌֬ʹ w ׳Εɾ؆୯ΑΓɺΈ͕γϯϓϧͰมߋʹڧ͍͜ͱ w ఆٛݪཧͷਖ਼͠͞ΑΓࣗͨͪʹ߹͏͜ͱ w Ϟμϯελϯμʔυͳٕज़ʹै͢Δ͜ͱ ઃܭٕज़બఆͷஅ࣠ 13
αʔϏεಛੑʹ߹͏ w σʔλऔಘઌΛநԽ͍ͨ͠ w ಛఆൣғͷؔ৺ࣄΛՕॴʹू ͍ͨ͠ w ෳͷ"1*͔ΒඇಉظͰऔಘɺ ͪ߹ΘͤɺΈ߹Θͤ ؍ͯ͠ݟ͚ͭͨղܾ͍ͨ͜͠ͱ
14
αʔϏεಛੑʹ߹͏ w σʔλऔಘઌΛநԽ͍ͨ͠ w ಛఆൣғͷؔ৺ࣄΛՕॴʹू ͍ͨ͠ w ෳͷ"1*͔ΒඇಉظͰऔಘɺ ͪ߹ΘͤɺΈ߹Θͤ ؍ͯ͠ݟ͚ͭͨղܾ͍ͨ͜͠ͱ
ϦϙδτϦύλʔϯ %%%ͷΦϒδΣΫτ 3Y+BWB ղܾͷͨΊͷٕज़ 14
͍͖ͳΓֶशίετΛ্͛͗͢ͳ͍ 3Y+BWB ະܦݧͩͱ͜ΕͭͰ ֶशίετߴ͍ -JWF%BUB %BUB#JOEJOH ·ͣ3Y+BWBʹ׳ΕͯΒ͏ %BHHFS ·ͣίϯετϥΫλΠϯδΣ Ϋγϣϯ͢Δ͜ͱʹ׳ΕͯΒ
͏ʢ,PUMJOͷσϑΥϧτҾʣ ࠾༻ ࠓճݟૹΓ 15
ܾΊͨཧ༝ΛυΩϡϝϯτʹ͢ w ࢦ͍ͯ͠Δ͜ͱ w αʔϏεͷಛੑ w ղܾ͍ͨ͜͠ͱ w ΞʔΩςΫνϟͷ֓ཁ w
࣮ͷͨΊͷϥΠϒϥϦͨͪ w ύοέʔδߏ w ଥڠͨ͠ w ࠾༻Λݟૹͬͨͷʢͱͦͷཧ༝ʣϦετ w ࢀߟʹͨ͠ॻ੶8FCϖʔδ ͳͥ͜͏ͳͬͯΔʁΛઆ໌ Ͱ͖Δ ٕज़ͷਐาʹ߹Θͤͯɺ ܧଓతʹมߋͰ͖ΔΑ͏ʹ͢ Δ 16
औΓΜͰ͍Δઃܭख๏ 17
.77. ϨΠϠʔԽ 3FQPTJUPSZ %PNBJO 7JFX.PEFM 7JFX w ΞʔΩςΫνϟ .77. ϨΠϠʔԽ
18
3FQPTJUPSZ w σʔλͷอଘͱऔಘ w 8FC"1*ͱϩʔΧϧʢ%# 1SFGFSFODFTʣΛநԽ 3FQPTJUPSZ %PNBJO 7JFX.PEFM
7JFX 19
%PNBJO w ϏδωεϩδοΫ%PNBJOʹด͡ࠐ ΊΔ w ,PUMJOͷEBUBDMBTTΛͬͯΦϒ δΣΫτΛ࣮ w ෭࡞༻ͷͳ͍ؔΛ࣋ͭ 3FQPTJUPSZ
%PNBJO 7JFX.PEFM 7JFX 20
7JFX.PEFM 7JFX.PEFM w දࣔͷͨΊͷঢ়ଶཧ w 7JFXΠϕϯτ͔Βඞཁͳॲཧ࣮ߦ 3FQPTJUPSZ %PNBJO 7JFX.PEFM 7JFX
21
7JFX w 7JFX.PEFM͔ΒྲྀΕ͖ͯͨσʔλʹ Ԡ͢Δ͚ͩɺϩδοΫΛ࣋ͨͳ͍ w JG จࣈྻ͕ۭ ͷΑ͏ͳఆϩδοΫΛ ॻ͍ͪΌͩΊ w
"DUJWJUZ$POUFYU7JFX͚ͩͰ͏ɺ 7JFXҎ֎"QQMJDBUJPO$POUFYU 3FQPTJUPSZ %PNBJO 7JFX.PEFM 7JFX 22
7JFX͔ΒϩδοΫΛണ͕͢ w ͜Ε·Ͱ7JFXʹϩδοΫ͕ॻ͔Ε͍ͯͯɺͦΕʹ׳Εͨঢ়ଶ ͩͬͨɻ w ॳาతͳ༰͕ͩɺ·ͣͱʹ͔͘7JFXͱϩδοΫΛ͢Δɻ 23
7JFX͔ΒϩδοΫΛണ͕͢ɿվमલ %PNBJO 24
7JFX͔ΒϩδοΫΛണ͕͢ɿվमલ 7JFX %PNBJO 24
େྔͷJT&NQUZ ఆ͕ϘσΟϒϩʔͷΑ͏ʹμϝʔδΛ༩͑Δɻɻɻ 7JFX͔ΒϩδοΫΛണ͕͢ɿվमલ 7JFX %PNBJO 24
7JFX͔ΒϩδοΫΛണ͕͢ɿվमޙ %PNBJO 25
7JFX͔ΒϩδοΫΛണ͕͢ɿվमޙ %PNBJO 25
7JFX͔ΒϩδοΫΛണ͕͢ɿվमޙ %PNBJO 7JFX 25
ίʔυཧͷεςοϓ 7JFX 26 ϩδοΫ" 7JFX 7JFX w 7JFXʹϩδοΫ͕ ॻ͔Ε͍ͯΔঢ়ଶ w
ಉ͡ϩδοΫ͕ෳͷը໘ ʹॏෳ͍ͯ͠Δ ϩδοΫ" ϩδοΫ" ϩδοΫ$ ϩδοΫ# ϩδοΫ#
7JFX 27 7JFX 7JFX ϩδοΫ$ ϩδοΫ" ϩδοΫ" ϩδοΫ# ϩδοΫ" ϩδοΫ#
ίʔυཧͷεςοϓ
7JFX 27 w ཧͯ͠%PNBJOʹ ϩδοΫΛҠಈ %PNBJO %PNBJO 7JFX 7JFX ϩδοΫ$
ϩδοΫ" ϩδοΫ" ϩδοΫ# ϩδοΫ" ϩδοΫ# ίʔυཧͷεςοϓ
৽7JFX 27 w ཧͯ͠%PNBJOʹ ϩδοΫΛҠಈ %PNBJO %PNBJO 7JFX 7JFX ϩδοΫ$
ϩδοΫ" ϩδοΫ" ϩδοΫ# ϩδοΫ" ϩδοΫ# ίʔυཧͷεςοϓ w ͭͷը໘ͷ7JFXΛ ॻ͖͑Δ
ϩδοΫ" ϩδοΫ" ϩδοΫ# ৽7JFX 28 7JFX ϩδοΫ$ %PNBJO %PNBJO ϩδοΫ"
ϩδοΫ# ίʔυཧͷεςοϓ w ผͷը໘%PNBJOʹҠಈ ͨ͠ϩδοΫΛ͏Α͏ʹ ͢Δ 7JFX
৽7JFX 28 w 7JFXͷίʔυ͕ݮΔ 7JFX ϩδοΫ$ %PNBJO %PNBJO ϩδοΫ" ϩδοΫ#
ίʔυཧͷεςοϓ w ผͷը໘%PNBJOʹҠಈ ͨ͠ϩδοΫΛ͏Α͏ʹ ͢Δ 7JFX
৽7JFX 29 %PNBJO %PNBJO ϩδοΫ" ϩδοΫ# 7JFX ϩδοΫ$ ίʔυཧͷεςοϓ 7JFX
w ίʔυ͕ݮͬͨ7JFXΛ ॻ͖͑Δ
৽7JFX 29 w ը໘୯ҐͰϦϑΝΫλΛ ྃͤ͞ɺશମͷஔ͖͑Λ ࢦ͢ %PNBJO %PNBJO ϩδοΫ" ϩδοΫ#
৽7JFX 7JFX ϩδοΫ$ ίʔυཧͷεςοϓ w ίʔυ͕ݮͬͨ7JFXΛ ॻ͖͑Δ
ґଘؔ w 7JFX.PEFM͕7JFXΛΒͳ͍ Α͏ʹ͢Δ͜ͱ w %PNBJO͕ଞʹґଘ͠ͳ͍͜ͱ 7JFX.PEFM 7JFX 3FQPTJUPSZ %PNBJO
30
σʔλͷྲྀΕ %PNBJO4FSWJDF ΦϒδΣΫτ 7JFX.PEFM 7JFX 3FQPTJUPSZ 3Y+BWB4USFBN ؔݺͼग़͠ 31
σʔλͷྲྀΕ %PNBJO4FSWJDF ΦϒδΣΫτ 7JFX.PEFM 7JFX 3FQPTJUPSZ 3Y+BWB4USFBN ؔݺͼग़͠ w 3Y+BWBͷ4USFBNΛ4VCTDSJCF
͢Δͷ7JFXͷΈʹ੍ݶ w 4VCKFDU 1SPDFTTPS Θͳ͍ 3Y+BWBͷར༻ϧʔϧΛઃ͚ɺ ֶशίετԼϝϯςφϯεੑ ্Λࢦ͢ 31
औΓΜͩ݁Ռ 32
औΓΈͱ݁Ռ w ࠷ར༻ͷଟ͍τοϓը໘ΛϦϑΝΫλϦϯάྃ w ݕ౼ɾઃܭɾ։ൃ߹Θͤͯϲ݄͘Β͍ w େ͖ͳόάͳͲͳ͘ɺίʔυͷݟ௨͕͠ྑ͘ͳͬͨ w ։ൃ͍͢͠ঢ়ଶʹͳΓɺΤϯδχΞ͔Β৽ػೳͷఏҊ 33
νʔϜͷมԽ w ઃܭʹ͍ͭͯٞ͢Δස͕૿͑ͨɻ ڭ͑ΔڭΘΔ͔ؔΒ͓ޓ͍ʹֶΔؔͷมԽɻ w ݟૹͬͨ෦ଥڠʹରͯٙ͠ɺ࣍ʹऔΓΉ͖͜ͱ͕ݟ͖͑ͯͨɻ w ίϯετϥΫλΠϯδΣΫγϣϯݫ͘͠ͳ͍ʁ w ࣮ײ͢Δͷخ͍͠ʂ
34
͋Γ͕ͱ͏͍͟͝·ͨ͠ :BIPPχϡʔεΞϓϦͥͻ͝ར༻͍ͩ͘͞ 35