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
結局、リファクタリングって何なのか 〜掃除から紐解くリファクタリング〜(refactoring...
Search
yy_yank
October 01, 2023
Programming
300
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
結局、リファクタリングって何なのか 〜掃除から紐解くリファクタリング〜(refactoring vs room cleaning)
気まぐれに書いた、掃除とリファクタリングの比較です
yy_yank
October 01, 2023
More Decks by yy_yank
See All by yy_yank
R2DBCでAPIの高速化をしようとしてやめた話
yyyank
0
1.7k
Debeziumで変更データキャプチャを学ぼう #jjug_ccc
yyyank
0
810
サーバーサイドKotlinという選択肢とユーザベース
yyyank
0
360
Javaプログラマのための頑張らないGo入門
yyyank
0
67
Other Decks in Programming
See All in Programming
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
250
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
130
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
410
ジョジョの世界をXRで再現する
mofurune
0
160
CodeRabbitの効果検証と過ごしてみた3ヶ月
armondando
0
230
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
2
2k
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
210
Railsバージョンを4倍にした話
optim
0
180
golang-bob.pdf
iwatsukayura
0
130
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
370
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
660
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
110
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Technical Leadership for Architectural Decision Making
baasie
3
600
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
890
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
350
Crafting Experiences
bethany
1
380
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
It's Worth the Effort
3n
188
29k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Designing Powerful Visuals for Engaging Learning
tmiket
1
600
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
280
Transcript
結局、リファクタリングっ て何なのか @yy_yank 2023/10/01作成 掃除から紐解くリファクタリング
このスライドの作者について @yy_yank ‧ソフトウェアエンジニア10年ちょい とか ‧これまでJavaとかKotlinとかGoとかRustとか 書いたり ‧ReactをTypeScriptで書いたり書かなかった り ‧⼦供を平⽇毎⽇保育園に送っている ‧ユーザベースという会社に今は居る
前提 ‧このスライド資料は思考実験であり、何の書籍などにも基づいていない ‧メタファーでの対象⽐較は、極端な⼀般化を起こすものであり詳細が抜け落ち ることが稀によくある ‧そのあたり割り切って書いている ‧好き勝⼿なんやかんや書いている
リファクタリングって⼀体何? ‧テストのないコードの書き直しはリファクタリングとは⾔わねえ! ‧リファクタリングする時間がない ‧このコードは綺麗‧汚いコードだ ‧コードの不吉な匂い ‧あー、リファクタリングしたいですねぇ ‧リファクタリングとかしてないで機能開発してよ ‧いやいや、リファクタリングというのは⼤事で ‧何でそんな時間かかるの?
リファクタリングって 結局⼈によって⾔ってること 違う気がするんだよなぁ
バズワードで会話してる感じ。 DXとかAIとかITとかアジャイルとか みたいな
ただの書き⽅の好みじゃない? そのリファクタによって皆が分かりや すくなる?
リファクタリングでどういうメリットが⽣ まれてくるのかな? やらなくてもなんとかなってるような気も するな
⾃分なりに整理してみよう… あ、安直なことを思いついたぞ
None
マインドマップを書いてみた (べべーん)
リファクタリングと掃除を⽐較すると似てる…?(無理やり)
やらないと、どうなるんだろう
なぜ?とか、誰?とか、⾊々考えてみる
掃除とコード、分かりやすさや扱いやすさは違うよなぁ
じゃあ、実際。何のために何をする?
リファクタリングやんなくても良い?そんなことないか
やらないと、どうなっていっちゃうかな?
部屋の掃除ぐらい分かりやすいものにするためには?
⾊々まとめようとすると、こうなった
None
まとめ ‧リファクタリングとは、「捨てる‧場所を変える‧常に続ける」こと ‧関係者のコストやペインによって「掃除」すべきポイントを⾒つけていく ‧リファクタリングはチームメイトや⾃分やマネージャーなど関係者のために⾏う ‧良いリファクタリングは認知負荷を下げる ‧認知負荷が下がると会話が増え、アクセスが容易になり、健康な状態が保てる ‧価値提供の早さを維持することができる ‧掃除とは違って、物質的な⾒えにくさがあるため、具現化や⾔語化が⼤事である
to be continued... ‧リアーキテクチャはリフォームと⽐較できるかな? ‧フルスクラッチは注⽂住宅? ‧では、具体的にどこをどうやって開発の中でリファクタリングをしていく?み たいなのはもっと踏み込んだ⽅が良いのかもしれないけどこの資料ではここまで