microsoft / microsoft/vscode-java-debug

Refactor: Extract common code from LaunchRequestHandler's delegate

オープン
#373 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

ai-triaged debt enhancement
主要言語
TypeScript
スター
591
フォーク
429
平均マージ
1日 9時間
マージ済み PR(30日)
19

説明

See ILaunchDelegate.java#L25-L27

    CompletableFuture<Response> launchInTerminal(LaunchArguments launchArguments, Response response, IDebugAdapterContext context);

    CompletableFuture<Response> launchInternally(LaunchArguments launchArguments, Response response, IDebugAdapterContext context);

There is common logic in implementation for both interfaces. The main differences in implementation for debug/noDebug are:

  • launchInTerminal: It constructs different command string, and then take different actions according to response.
  • launchInternally: It starts debuggee process in different ways.

Refactor work should be done to make code clean and readable.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず ILaunchDelegate.java の25-27行目から始め、次に LaunchRequestHandler の delegate にある launchInTerminal と launchInternally の実装を調べます。共通ロジックと、issue で説明されている debug/noDebug の違いを比較します。共通の動作が統合され、これらの異なる起動動作を変更せずに delegate の可読性が保たれていれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
devtools
issue の種類
リファクタリング
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。