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 vs room cleaning)
Search
yy_yank
October 01, 2023
Programming
0
170
結局、リファクタリングって何なのか 〜掃除から紐解くリファクタリング〜(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
660
Debeziumで変更データキャプチャを学ぼう #jjug_ccc
yyyank
0
540
サーバーサイドKotlinという選択肢とユーザベース
yyyank
0
230
Javaプログラマのための頑張らないGo入門
yyyank
0
9
Other Decks in Programming
See All in Programming
雑に思考を整理する技術と効能
konifar
60
29k
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
27
8.3k
VSCodeでのDatabricks開発もお勧めしたい/I would also recommend Databricks development with VSCode.
kazumain
0
260
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
960
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
280
二郎系ラーメンのコールで学ぶ AST 解析
memory1994
PRO
7
1.7k
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
9
4.1k
try! Swift Tokyo 2024 参加報告 / try! Swift Tokyo 2024 Report
hironytic
0
210
Fragment Composition of GraphQL
quramy
7
1k
Milestoner
bkuhlmann
1
410
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.4k
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
540
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
25
5.8k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Become a Pro
speakerdeck
PRO
11
4.5k
YesSQL, Process and Tooling at Scale
rocio
164
13k
Web development in the modern age
philhawksworth
202
10k
Navigating Team Friction
lara
178
13k
The Mythical Team-Month
searls
216
42k
Optimising Largest Contentful Paint
csswizardry
8
2.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
2
1.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
What's in a price? How to price your products and services
michaelherold
237
11k
A better future with KSS
kneath
231
16k
Transcript
結局、リファクタリングっ て何なのか @yy_yank 2023/10/01作成 掃除から紐解くリファクタリング
このスライドの作者について @yy_yank ‧ソフトウェアエンジニア10年ちょい とか ‧これまでJavaとかKotlinとかGoとかRustとか 書いたり ‧ReactをTypeScriptで書いたり書かなかった り ‧⼦供を平⽇毎⽇保育園に送っている ‧ユーザベースという会社に今は居る
前提 ‧このスライド資料は思考実験であり、何の書籍などにも基づいていない ‧メタファーでの対象⽐較は、極端な⼀般化を起こすものであり詳細が抜け落ち ることが稀によくある ‧そのあたり割り切って書いている ‧好き勝⼿なんやかんや書いている
リファクタリングって⼀体何? ‧テストのないコードの書き直しはリファクタリングとは⾔わねえ! ‧リファクタリングする時間がない ‧このコードは綺麗‧汚いコードだ ‧コードの不吉な匂い ‧あー、リファクタリングしたいですねぇ ‧リファクタリングとかしてないで機能開発してよ ‧いやいや、リファクタリングというのは⼤事で ‧何でそんな時間かかるの?
リファクタリングって 結局⼈によって⾔ってること 違う気がするんだよなぁ
バズワードで会話してる感じ。 DXとかAIとかITとかアジャイルとか みたいな
ただの書き⽅の好みじゃない? そのリファクタによって皆が分かりや すくなる?
リファクタリングでどういうメリットが⽣ まれてくるのかな? やらなくてもなんとかなってるような気も するな
⾃分なりに整理してみよう… あ、安直なことを思いついたぞ
None
マインドマップを書いてみた (べべーん)
リファクタリングと掃除を⽐較すると似てる…?(無理やり)
やらないと、どうなるんだろう
なぜ?とか、誰?とか、⾊々考えてみる
掃除とコード、分かりやすさや扱いやすさは違うよなぁ
じゃあ、実際。何のために何をする?
リファクタリングやんなくても良い?そんなことないか
やらないと、どうなっていっちゃうかな?
部屋の掃除ぐらい分かりやすいものにするためには?
⾊々まとめようとすると、こうなった
None
まとめ ‧リファクタリングとは、「捨てる‧場所を変える‧常に続ける」こと ‧関係者のコストやペインによって「掃除」すべきポイントを⾒つけていく ‧リファクタリングはチームメイトや⾃分やマネージャーなど関係者のために⾏う ‧良いリファクタリングは認知負荷を下げる ‧認知負荷が下がると会話が増え、アクセスが容易になり、健康な状態が保てる ‧価値提供の早さを維持することができる ‧掃除とは違って、物質的な⾒えにくさがあるため、具現化や⾔語化が⼤事である
to be continued... ‧リアーキテクチャはリフォームと⽐較できるかな? ‧フルスクラッチは注⽂住宅? ‧では、具体的にどこをどうやって開発の中でリファクタリングをしていく?み たいなのはもっと踏み込んだ⽅が良いのかもしれないけどこの資料ではここまで