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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
yy_yank
October 01, 2023
Programming
0
270
結局、リファクタリングって何なのか 〜掃除から紐解くリファクタリング〜(refactoring vs room cleaning)
気まぐれに書いた、掃除とリファクタリングの比較です
yy_yank
October 01, 2023
Tweet
Share
More Decks by yy_yank
See All by yy_yank
R2DBCでAPIの高速化をしようとしてやめた話
yyyank
0
1.5k
Debeziumで変更データキャプチャを学ぼう #jjug_ccc
yyyank
0
750
サーバーサイドKotlinという選択肢とユーザベース
yyyank
0
320
Javaプログラマのための頑張らないGo入門
yyyank
0
39
Other Decks in Programming
See All in Programming
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
4
220
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
460
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
380
高速開発のためのコード整理術
sutetotanuki
1
380
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
440
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
140
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
410
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
3
220
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
110
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6k
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
210
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
270
Code Review Best Practice
trishagee
74
20k
Navigating Weather and Climate Data
rabernat
0
97
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
820
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
47
The World Runs on Bad Software
bkeepers
PRO
72
12k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
220
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
The SEO identity crisis: Don't let AI make you average
varn
0
62
Designing for Timeless Needs
cassininazir
0
130
Transcript
結局、リファクタリングっ て何なのか @yy_yank 2023/10/01作成 掃除から紐解くリファクタリング
このスライドの作者について @yy_yank ‧ソフトウェアエンジニア10年ちょい とか ‧これまでJavaとかKotlinとかGoとかRustとか 書いたり ‧ReactをTypeScriptで書いたり書かなかった り ‧⼦供を平⽇毎⽇保育園に送っている ‧ユーザベースという会社に今は居る
前提 ‧このスライド資料は思考実験であり、何の書籍などにも基づいていない ‧メタファーでの対象⽐較は、極端な⼀般化を起こすものであり詳細が抜け落ち ることが稀によくある ‧そのあたり割り切って書いている ‧好き勝⼿なんやかんや書いている
リファクタリングって⼀体何? ‧テストのないコードの書き直しはリファクタリングとは⾔わねえ! ‧リファクタリングする時間がない ‧このコードは綺麗‧汚いコードだ ‧コードの不吉な匂い ‧あー、リファクタリングしたいですねぇ ‧リファクタリングとかしてないで機能開発してよ ‧いやいや、リファクタリングというのは⼤事で ‧何でそんな時間かかるの?
リファクタリングって 結局⼈によって⾔ってること 違う気がするんだよなぁ
バズワードで会話してる感じ。 DXとかAIとかITとかアジャイルとか みたいな
ただの書き⽅の好みじゃない? そのリファクタによって皆が分かりや すくなる?
リファクタリングでどういうメリットが⽣ まれてくるのかな? やらなくてもなんとかなってるような気も するな
⾃分なりに整理してみよう… あ、安直なことを思いついたぞ
None
マインドマップを書いてみた (べべーん)
リファクタリングと掃除を⽐較すると似てる…?(無理やり)
やらないと、どうなるんだろう
なぜ?とか、誰?とか、⾊々考えてみる
掃除とコード、分かりやすさや扱いやすさは違うよなぁ
じゃあ、実際。何のために何をする?
リファクタリングやんなくても良い?そんなことないか
やらないと、どうなっていっちゃうかな?
部屋の掃除ぐらい分かりやすいものにするためには?
⾊々まとめようとすると、こうなった
None
まとめ ‧リファクタリングとは、「捨てる‧場所を変える‧常に続ける」こと ‧関係者のコストやペインによって「掃除」すべきポイントを⾒つけていく ‧リファクタリングはチームメイトや⾃分やマネージャーなど関係者のために⾏う ‧良いリファクタリングは認知負荷を下げる ‧認知負荷が下がると会話が増え、アクセスが容易になり、健康な状態が保てる ‧価値提供の早さを維持することができる ‧掃除とは違って、物質的な⾒えにくさがあるため、具現化や⾔語化が⼤事である
to be continued... ‧リアーキテクチャはリフォームと⽐較できるかな? ‧フルスクラッチは注⽂住宅? ‧では、具体的にどこをどうやって開発の中でリファクタリングをしていく?み たいなのはもっと踏み込んだ⽅が良いのかもしれないけどこの資料ではここまで