microsoft / microsoft/TypeScript

Allow Extract Constant in expression-bodied arrow functions

Offen
#18,924 0 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Domain: LS: Refactorings Experience Enhancement Suggestion
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
2 T. 4 Std.
Gemergte PRs (30 T.)
132

Beschreibung

const f = () => 1 + [#|(2 + 3)|] + 4;

Expected:

const f = () => {
    const newLocal = (2 + 3);
    return 1 + newLocal + 4;
};

We can detect this scenario, but ChangeTracker doesn't support overlapping transformations (i.e. substituting newLocal into the expression and then putting the result into a return statement).

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, den Einstiegspunkt für das Extract Constant-Refactoring und die ChangeTracker-Behandlung für Arrow-Funktionen mit Ausdruckskörper zu finden. Reproduziere das TypeScript-Beispiel aus dem Issue und verfolge, wie die Konstantensubstitution und die Return-Konvertierung dargestellt werden. Als abgeschlossen gilt die Aufgabe, wenn der gezeigte Ausdruck in eine Arrow-Funktion mit Blockkörper und der lokalen Konstante sowie der Return-Anweisung umgewandelt wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
compilers
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.