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
2
260
TypeScript ASTとJSDocで実現するコードの自動削除 / Auto remove code with TypeScript AST and JSDoc
スタンバイ
May 21, 2025
Tweet
Share
More Decks by スタンバイ
See All by スタンバイ
スタンバイ会社紹介資料
stanby_inc
0
580
プロダクト部門のマネージャー全員でマネジメントポリシーを宣言した記録_-_EMConf_JP_2025.2.27.pdf
stanby_inc
1
2.6k
スタンバイ会社紹介資料
stanby_inc
0
42k
Amazon Aurora のインフラコストを55%削減した話
stanby_inc
0
4.7k
スタンバイQAのテスト自動化導入
stanby_inc
0
950
検索エンジンをVespaへ移行しています
stanby_inc
0
1.1k
どうするLeSS - スクラムフェス三河2023.9.16
stanby_inc
1
1.6k
スタンバイにおけるSLOの、これまでとこれから
stanby_inc
0
930
スタンバイにおける自然言語処理の利用
stanby_inc
0
1.5k
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
The Cost Of JavaScript in 2023
addyosmani
51
8.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Producing Creativity
orderedlist
PRO
346
40k
Designing Experiences People Love
moore
142
24k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
We Have a Design System, Now What?
morganepeng
53
7.7k
Bash Introduction
62gerente
614
210k
Become a Pro
speakerdeck
PRO
29
5.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
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