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
moznion
July 25, 2026
Technology
1.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
reFACToring
大吉祥寺.pm 2026 スポンサーLTの資料です #kichijojipm
https://fortee.jp/dai-kichijojipm-2026
moznion
July 25, 2026
More Decks by moznion
See All by moznion
ブラウザアプリの継続的パフォーマンスモニタリング (序) / Continuous Browser Application Performance Monitoring; Act 1
moznion
0
40
cccccc
moznion
1
2.5k
履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
moznion
16
15k
「データ無い! 腹立つ! 推論する!」から 「データ無い! 腹立つ! データを作る」へ チームでデータを作り、育てられるようにするまで / How can we create, use, and maintain data ourselves?
moznion
11
7.6k
避けられないI/O待ちに対処する: Rails アプリにおけるSSEとasync gemの活用 / Tackling Inevitable I/O Latency in Rails Apps with SSE and the async gem
moznion
4
9.2k
RubyKaigi Hack Space in Tokyo & 函館最速 "予習" 会 / RubyKaigi Hack Space in Tokyo & The Fastest Briefing of RubyKaigi 2026 in Hakodate
moznion
1
460
地に足の付いた現実的な技術選定から魔力のある体験を得る『AIレシート読み取り機能』のケーススタディ / From Grounded Tech Choices to Magical UX: A Case Study of AI Receipt Scanning
moznion
7
5.2k
Chrome Extension Techniques from Hell
moznion
1
330
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
4
9k
Other Decks in Technology
See All in Technology
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.3k
AWSとAzureのマルチクラウド活用における強い味方___AWS_Kiroを使った二刀流スキル作成.pdf
duelist2020jp
1
160
サービス内で複数のOP・ASを連鎖させる(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
420
Bet AI Day 2026丨バクラク Autopilot、業務システムの再設計
layerx
PRO
1
380
AI駆動開発を組織で促すために
lycorptech_jp
PRO
7
9.1k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
77k
AI時代の「OAuth認証」にどう物申すか?(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
410
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
12
87k
マイナンバーカード本人確認の実装比較(OAuth/OIDC Numa (Immersion) Workshop 2026) / 20260825 numa-12
oidfj
PRO
0
420
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
最新技術に積極チャレンジ!EKS共通基盤のこれまでとこれから
daitak
0
280
Introduction to Bill One Development Engineer
sansan33
PRO
0
480
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
410
Six Lessons from altMBA
skipperchong
29
4.5k
Navigating Team Friction
lara
192
16k
Producing Creativity
orderedlist
PRO
348
41k
Statistics for Hackers
jakevdp
799
230k
BBQ
matthewcrist
89
10k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
230
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Raft: Consensus for Rubyists
vanstee
141
7.7k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
400
Transcript
© Timeleap Inc. CONFIDENTIAL reFACToring Sat, 25 Jul 2026 大吉祥寺
.pm 2026 スポンサー LT https://timeleap.co.jp/ @moznion 1
@moznion タイムリープ株式会社 ソフトウェアエンジニア プロダクト責任者
None
None
None
遠隔接客サービスRURAの状況 • 開発開始してから7年が経過 ◦ その間に⾊々あった (らしい) • サービスの成⻑に伴って安定性とスケーラビリティを ⾼める必要が出てきた =>
⼤絶賛リファクタリング‧リアーキテクチャ中 © Timeleap Inc. 6
遠隔接客サービスRURAの状況 • 開発開始してから7年が経過 ◦ その間に⾊々あった (らしい) • サービスの成⻑に伴って安定性とスケーラビリティを ⾼める必要が出てきた =>
⼤絶賛リファクタリング‧リアーキテクチャ中 「かわるもの‧かわらないもの」 © Timeleap Inc. 7
リファクタリング、あなたはどこから © Timeleap Inc. 8
リファクタリング、あなたはどこから おもしろそうなところから!! © Timeleap Inc. 9
正解!!!!!! (不正解)
どこ‧なにからリファクタリングすべきか ざっくり⾔うと: ⼀番「効く」所から 効くとは? • 障害が起こりまくっている箇所 • パフォーマンスが悪い箇所 • 開放閉鎖原則が満たされていない箇所
• 理解が難しい箇所 • とにかく変更されまくっている箇所 • などなど © Timeleap Inc. 11
どこ‧なにからリファクタリングすべきか ざっくり⾔うと: ⼀番「効く」所から 効くとは? • 障害が起こりまくっている箇所 • パフォーマンスが悪い箇所 • 開放閉鎖原則が満たされていない箇所
• 理解が難しい箇所 • とにかく変更されまくっている箇所 • などなど © Timeleap Inc. 12
どこ‧なにからリファクタリングすべきか ざっくり⾔うと: ⼀番「効く」所から 効くとは? • 障害が起こりまくっている箇所 • パフォーマンスが悪い箇所 • 開放閉鎖原則が満たされていない箇所
• 理解が難しい箇所 「かわるもの‧わからないもの」 • とにかく変更されまくっている箇所 • などなど © Timeleap Inc. 13
Cyclomatic Complexity (循環複雑度) と Cognitive Complexity (認知複雑度) の ⾼速な計測ライブラリ‧CLI moznion/cccc
https://speakerdeck.com/moznion/cccccc これら複雑度が⾼いと理解が難しい傾向に ある (はず) という発想から継続的に 計測‧監視をしている……
という話をテックブログに書いてます!!!! テックブログはじめました & 継続的な循環的複雑度と認知的複雑度の 計測をしているという話題 - タイムリープ テックブログ https://techblog.timeleap.co.jp/entry/2026/07/09/093440 ©
Timeleap Inc. 15
off-topic: moznion/ccccが進化している 当初のサポート⾔語: JS, TS, Go, Rust 現在のサポート⾔語: JS, TS,
Go, Rust, Lisp (族), PHP, Ruby, Python, Perl, C, Zig, Java, Kotlin, Dart, Swift ぜひ使ってみてください! コントリビューターの皆様ありがとうございます!!! © Timeleap Inc. 16
どこ‧なにからリファクタリングすべきか ざっくり⾔うと: ⼀番「効く」所から 効くとは? • 障害が起こりまくっている箇所 • パフォーマンスが悪い箇所 • 開放閉鎖原則が満たされていない箇所
• 理解が難しい箇所 • とにかく変更されまくっている箇所 • などなど © Timeleap Inc. 17
どこ‧なにからリファクタリングすべきか ざっくり⾔うと: ⼀番「効く」所から 効くとは? • 障害が起こりまくっている箇所 • パフォーマンスが悪い箇所 • 開放閉鎖原則が満たされていない箇所
• 理解が難しい箇所 • とにかく変更されまくっている箇所 • などなど © Timeleap Inc. 18
変更されまくっている箇所は臭う 何をするにもそこが変更されるということは • 仕様変更が頻発している ◦ (もしかして: 仕様が無いかも……?) • 責務過多の気配 •
多数の機能から (不適切な) 興味を持たれている • などなど 要はホットスポットとして捉えることができそう © Timeleap Inc. 19
変更傾向を⾒ておきたい…… というわけで作った: moznion/hotcarpet 何度⽬の再発明なんだ……? © Timeleap Inc. 20
moznion/hotcarpet コミット履歴を取ってファイル単位のリーダーボードを取る © Timeleap Inc. 21
moznion/hotcarpet コミット履歴を取って関数単位のリーダーボードを取る © Timeleap Inc. 22
moznion/hotcarpet コミット履歴を取って関数単位のリーダーボードを取る これが便利! © Timeleap Inc. 23
moznion/hotcarpet コミット履歴を取って関数単位のリーダーボードを取る 👉 ファイル単位よりも細かい粒度でホットスポットを認識できる 「かわるもの‧かわらないもの」がわかる • hotcarpet中⾝の話 ◦ ⾔語ごとのAnalyzer Pluginを作って分析ができる
▪ ES/TS ▪ Rust ▪ Go ◦ Analyzer Pluginを作って組み込めば任意の⾔語で実現可能 ▪ 無ければファイル単位の解析のみで終わる © Timeleap Inc. 24
変更傾向を継続的に⾒ておきたい…… GitHub Actionsもございます: moznion/hotcarpet-action ご活⽤ください!!! © Timeleap Inc. 25
どこ‧なにからリファクタリングすべきか ざっくり⾔うと: ⼀番「効く」所から 効くとは? • 障害が起こりまくっている箇所 • パフォーマンスが悪い箇所 • 開放閉鎖原則が満たされていない箇所
• 理解が難しい箇所 • とにかく変更されまくっている箇所 • などなど © Timeleap Inc. 26
どこ‧なにからリファクタリングすべきか ざっくり⾔うと: ⼀番「効く」所から 効くとは? • 障害が起こりまくっている箇所 • パフォーマンスが悪い箇所 • 開放閉鎖原則が満たされていない箇所
• 理解が難しい箇所 • とにかく変更されまくっている箇所 • などなど これらは事実 <ファクト> © Timeleap Inc. 27
© Timeleap Inc. CONFIDENTIAL reFACToring Sat, 25 Jul 2026 大吉祥寺
.pm 2026 スポンサー LT https://timeleap.co.jp/ @moznion 28
© Timeleap Inc. CONFIDENTIAL reFACToring Sat, 25 Jul 2026 大吉祥寺
.pm 2026 スポンサー LT リファクタ (リング) は ファクトと共に やるのだぞ https://timeleap.co.jp/ @moznion ここで一句 : 29
reFACToring やはり事実に基いたリファクタリングは効果がある…… © Timeleap Inc. 30
reFACToring やはり事実に基いたリファクタリングは効果がある…… が、リファクタリング (というかソフトウェアエンジニアリング) には JOY度が必要ですよね!!!!!! © Timeleap Inc. 31
正解!!!!!! (不正解)
タイムリープでは「事実」と「JOY度」両⽅を⼤事にして 両⽴できるエンジニアを募集しています!! © Timeleap inc. All Rights Reserved.