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
結局、リファクタリングって何なのか 〜掃除から紐解くリファクタリング〜(refactoring...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
yy_yank
October 01, 2023
Programming
290
0
Share
結局、リファクタリングって何なのか 〜掃除から紐解くリファクタリング〜(refactoring vs room cleaning)
気まぐれに書いた、掃除とリファクタリングの比較です
yy_yank
October 01, 2023
More Decks by yy_yank
See All by yy_yank
R2DBCでAPIの高速化をしようとしてやめた話
yyyank
0
1.6k
Debeziumで変更データキャプチャを学ぼう #jjug_ccc
yyyank
0
770
サーバーサイドKotlinという選択肢とユーザベース
yyyank
0
340
Javaプログラマのための頑張らないGo入門
yyyank
0
52
Other Decks in Programming
See All in Programming
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
380
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
5
630
Inside Stream API
skrb
1
120
誰も頼んでない機能を出荷した話
zekutax
0
130
Modding RubyKaigi for Myself
yui_knk
0
430
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
0
330
関係性から理解する"同一性"の型用語たち
pvcresin
2
520
Are We Really Coding 10× Faster with AI?
kohzas
0
230
ふつうのFeature Flag実践入門
irof
1
370
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
120
20260514 - build with ai 2026 - build LINE Bot with Gemini CLI
line_developers_tw
PRO
0
470
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
240
Featured
See All Featured
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Why Our Code Smells
bkeepers
PRO
340
58k
Mind Mapping
helmedeiros
PRO
1
200
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
120
Optimizing for Happiness
mojombo
378
71k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
280
How GitHub (no longer) Works
holman
316
150k
First, design no harm
axbom
PRO
2
1.2k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
230
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
320
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Transcript
結局、リファクタリングっ て何なのか @yy_yank 2023/10/01作成 掃除から紐解くリファクタリング
このスライドの作者について @yy_yank ‧ソフトウェアエンジニア10年ちょい とか ‧これまでJavaとかKotlinとかGoとかRustとか 書いたり ‧ReactをTypeScriptで書いたり書かなかった り ‧⼦供を平⽇毎⽇保育園に送っている ‧ユーザベースという会社に今は居る
前提 ‧このスライド資料は思考実験であり、何の書籍などにも基づいていない ‧メタファーでの対象⽐較は、極端な⼀般化を起こすものであり詳細が抜け落ち ることが稀によくある ‧そのあたり割り切って書いている ‧好き勝⼿なんやかんや書いている
リファクタリングって⼀体何? ‧テストのないコードの書き直しはリファクタリングとは⾔わねえ! ‧リファクタリングする時間がない ‧このコードは綺麗‧汚いコードだ ‧コードの不吉な匂い ‧あー、リファクタリングしたいですねぇ ‧リファクタリングとかしてないで機能開発してよ ‧いやいや、リファクタリングというのは⼤事で ‧何でそんな時間かかるの?
リファクタリングって 結局⼈によって⾔ってること 違う気がするんだよなぁ
バズワードで会話してる感じ。 DXとかAIとかITとかアジャイルとか みたいな
ただの書き⽅の好みじゃない? そのリファクタによって皆が分かりや すくなる?
リファクタリングでどういうメリットが⽣ まれてくるのかな? やらなくてもなんとかなってるような気も するな
⾃分なりに整理してみよう… あ、安直なことを思いついたぞ
None
マインドマップを書いてみた (べべーん)
リファクタリングと掃除を⽐較すると似てる…?(無理やり)
やらないと、どうなるんだろう
なぜ?とか、誰?とか、⾊々考えてみる
掃除とコード、分かりやすさや扱いやすさは違うよなぁ
じゃあ、実際。何のために何をする?
リファクタリングやんなくても良い?そんなことないか
やらないと、どうなっていっちゃうかな?
部屋の掃除ぐらい分かりやすいものにするためには?
⾊々まとめようとすると、こうなった
None
まとめ ‧リファクタリングとは、「捨てる‧場所を変える‧常に続ける」こと ‧関係者のコストやペインによって「掃除」すべきポイントを⾒つけていく ‧リファクタリングはチームメイトや⾃分やマネージャーなど関係者のために⾏う ‧良いリファクタリングは認知負荷を下げる ‧認知負荷が下がると会話が増え、アクセスが容易になり、健康な状態が保てる ‧価値提供の早さを維持することができる ‧掃除とは違って、物質的な⾒えにくさがあるため、具現化や⾔語化が⼤事である
to be continued... ‧リアーキテクチャはリフォームと⽐較できるかな? ‧フルスクラッチは注⽂住宅? ‧では、具体的にどこをどうやって開発の中でリファクタリングをしていく?み たいなのはもっと踏み込んだ⽅が良いのかもしれないけどこの資料ではここまで