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
TypeScript ASTとJSDocで実現するコードの自動削除 / Auto remove...
Search
スタンバイ
May 21, 2025
370
3
Share
TypeScript ASTとJSDocで実現するコードの自動削除 / Auto remove code with TypeScript AST and JSDoc
スタンバイ
May 21, 2025
More Decks by スタンバイ
See All by スタンバイ
自立を加速させる神器 - EMOasis #11
stanby_inc
0
160
スタンバイ会社紹介資料
stanby_inc
0
1.9k
プロダクト部門のマネージャー全員でマネジメントポリシーを宣言した記録_-_EMConf_JP_2025.2.27.pdf
stanby_inc
1
4.6k
スタンバイ会社紹介資料
stanby_inc
0
80k
Amazon Aurora のインフラコストを55%削減した話
stanby_inc
0
5k
スタンバイQAのテスト自動化導入
stanby_inc
0
1.3k
検索エンジンをVespaへ移行しています
stanby_inc
0
1.3k
どうするLeSS - スクラムフェス三河2023.9.16
stanby_inc
1
2k
スタンバイにおけるSLOの、これまでとこれから
stanby_inc
0
1.1k
Featured
See All Featured
Practical Orchestrator
shlominoach
191
11k
Ethics towards AI in product and experience design
skipperchong
2
260
Technical Leadership for Architectural Decision Making
baasie
3
340
How to train your dragon (web standard)
notwaldorf
97
6.6k
A better future with KSS
kneath
240
18k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
750
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
180
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Skip the Path - Find Your Career Trail
mkilby
1
110
How to Ace a Technical Interview
jacobian
281
24k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
350
Transcript
© Stanby, Inc. TypeScript ASTとJSDocで実現する コードの自動削除 株式会社スタンバイ 川野 賢一 1
2025.05.24 TSKaigi 2025
© Stanby, Inc. 自己紹介 2024年1月に株式会社スタンバイに中途入社 仕事 • 求人検索エンジン「スタンバイ」のWebフロントエンド開発 • オウンドメディア「スタンバイplus」の開発
+α • 日々の業務を楽に楽しくするためTypeScript製社内ツールの開発 ◦ Chrome拡張機能、Slack App、GASなど TSKaigi 2024でASTの話を聞いたことをきっかけに、ASTを活用したCLI ツールも作りました!(本日のテーマです!) 2 川野 賢一
© Stanby, Inc. 不要になったA/Bテストのコード どうやって消してますか? 3
© Stanby, Inc. 我々のチームではこれまで コメントアウトを使って範囲を示し 目視で手動で消してました 4
© Stanby, Inc. コメントアウトを使った範囲指定のやり方 5
© Stanby, Inc. コメントアウトを使った範囲指定のやり方 ❌ 範囲指定を間違えてしまう ❌ 書きたい順序でかけない ❌ 開始/終了コメントを書き忘れる
6 困ったこと
© Stanby, Inc. コメントアウトを使う背景 7 多くの開発が並行して行われている
© Stanby, Inc. さらなる困ったこと 8
© Stanby, Inc. さらなる困ったこと 9
© Stanby, Inc. さらなる困ったこと 10
© Stanby, Inc. さらなる困ったこと 11
© Stanby, Inc. さらなる困ったこと 12
© Stanby, Inc. さらなる困ったこと 13
© Stanby, Inc. さらなる困ったこと 14
© Stanby, Inc. さらなる困ったこと 15 1つずつ確認して 削除するのがツラい!!
© Stanby, Inc. 問題は2つ • 目印の残し方(範囲指定)がイケてない • 1つずつ確認して削除するのが大変 16
© Stanby, Inc. ① JSDocで範囲の問題を解決する! 17
© Stanby, Inc. コメントアウトの代わりにJSDocを使う 18
© Stanby, Inc. コメントアウトの代わりにJSDocを使う 範囲の概念がなくなり、これらの問題は解決!! ✅ 範囲指定を間違えてしまう ✅ 書きたい順序でかけない ✅
開始/終了コメントを書き忘れる 19 JSDocを使って対象を指定する
© Stanby, Inc. 問題は2つ • 目印の残し方(範囲指定)がイケてない • 1つずつ確認して削除するのが大変 20
© Stanby, Inc. ② ASTを活用して自動化する! 21
© Stanby, Inc. コメントアウトとJSDocの違い 22 JSDocはノードに紐づく
© Stanby, Inc. 構文解析して対象のノードを削除する 23
© Stanby, Inc. 構文解析して対象のノードを削除する 24 JSDocのタグを取得し 対象であればノードを削除する 1つずつノードを見ていく中で
© Stanby, Inc. これまでは コメントアウトを使って範囲を示し 目視で手動で消してましたが 😢 25
© Stanby, Inc. これからは JSDocを使って対象を指定し CLIで自動で消せるようになりました 🎉 26
© Stanby, Inc. 今後の展望 条件分岐を含むような複雑なケースに対応できていない…😢 コマンドを実行するだけで 不要なコードをすべて削除できるようにしたい!💪 27
None