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
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.6k
Debeziumで変更データキャプチャを学ぼう #jjug_ccc
yyyank
0
790
サーバーサイドKotlinという選択肢とユーザベース
yyyank
0
350
Javaプログラマのための頑張らないGo入門
yyyank
0
56
Other Decks in Programming
See All in Programming
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
430
Oxcを導入して開発体験が向上した話
yug1224
4
370
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
1k
OS アップデート対応の取り組み方がもっと共有されてほしい
andpad
0
110
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
230
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
460
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
140
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
180
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
270
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
1k
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
810
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
570
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
340
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Paper Plane (Part 1)
katiecoart
PRO
0
9.5k
Believing is Seeing
oripsolob
1
160
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
It's Worth the Effort
3n
188
29k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.6k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
410
Into the Great Unknown - MozCon
thekraken
41
2.6k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
250
Transcript
結局、リファクタリングっ て何なのか @yy_yank 2023/10/01作成 掃除から紐解くリファクタリング
このスライドの作者について @yy_yank ‧ソフトウェアエンジニア10年ちょい とか ‧これまでJavaとかKotlinとかGoとかRustとか 書いたり ‧ReactをTypeScriptで書いたり書かなかった り ‧⼦供を平⽇毎⽇保育園に送っている ‧ユーザベースという会社に今は居る
前提 ‧このスライド資料は思考実験であり、何の書籍などにも基づいていない ‧メタファーでの対象⽐較は、極端な⼀般化を起こすものであり詳細が抜け落ち ることが稀によくある ‧そのあたり割り切って書いている ‧好き勝⼿なんやかんや書いている
リファクタリングって⼀体何? ‧テストのないコードの書き直しはリファクタリングとは⾔わねえ! ‧リファクタリングする時間がない ‧このコードは綺麗‧汚いコードだ ‧コードの不吉な匂い ‧あー、リファクタリングしたいですねぇ ‧リファクタリングとかしてないで機能開発してよ ‧いやいや、リファクタリングというのは⼤事で ‧何でそんな時間かかるの?
リファクタリングって 結局⼈によって⾔ってること 違う気がするんだよなぁ
バズワードで会話してる感じ。 DXとかAIとかITとかアジャイルとか みたいな
ただの書き⽅の好みじゃない? そのリファクタによって皆が分かりや すくなる?
リファクタリングでどういうメリットが⽣ まれてくるのかな? やらなくてもなんとかなってるような気も するな
⾃分なりに整理してみよう… あ、安直なことを思いついたぞ
None
マインドマップを書いてみた (べべーん)
リファクタリングと掃除を⽐較すると似てる…?(無理やり)
やらないと、どうなるんだろう
なぜ?とか、誰?とか、⾊々考えてみる
掃除とコード、分かりやすさや扱いやすさは違うよなぁ
じゃあ、実際。何のために何をする?
リファクタリングやんなくても良い?そんなことないか
やらないと、どうなっていっちゃうかな?
部屋の掃除ぐらい分かりやすいものにするためには?
⾊々まとめようとすると、こうなった
None
まとめ ‧リファクタリングとは、「捨てる‧場所を変える‧常に続ける」こと ‧関係者のコストやペインによって「掃除」すべきポイントを⾒つけていく ‧リファクタリングはチームメイトや⾃分やマネージャーなど関係者のために⾏う ‧良いリファクタリングは認知負荷を下げる ‧認知負荷が下がると会話が増え、アクセスが容易になり、健康な状態が保てる ‧価値提供の早さを維持することができる ‧掃除とは違って、物質的な⾒えにくさがあるため、具現化や⾔語化が⼤事である
to be continued... ‧リアーキテクチャはリフォームと⽐較できるかな? ‧フルスクラッチは注⽂住宅? ‧では、具体的にどこをどうやって開発の中でリファクタリングをしていく?み たいなのはもっと踏み込んだ⽅が良いのかもしれないけどこの資料ではここまで