redhat-developer / redhat-developer/vscode-java
Refactoring extraction methods leads to naming conflicts
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 2.3k
- Forks
- 546
- Ø Merge
- 20 Std. 1 Min.
- Gemergte PRs (30 T.)
- 11
Beschreibung
[provide a description of the issue]
Environment
Operating System: Windows11
JDK version: 17
Visual Studio Code version: 1.88
Java extension version: 1.29
Steps to Reproduce:
- select "extracted();'
- click “Refacator-Extract to method”
- new method name " extractedMethod() "
class ExtractMethodTest {
public void originalMethod() {};
public void methodA() {
// Extracted method
extracted();
}
private void extracted() {
extractedMethod();
}
private void extractedMethod() {
// TODO Auto-generated method stub
}
public void methodB() {
extracted();
}
}
refactoring result:
Reason: When extracting the method, there was no detection of naming conflicts between the new method name and the context
Expected behavior: Check for naming conflicts before and after refactoring, and provide warning prompts
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Reproduziere den Java-Ablauf „Refactor-Extract to method“ mit der bereitgestellten Klasse auf dem aufgeführten Setup aus Windows 11, JDK 17 und VS Code 1.88 unter Verwendung des Einstiegspunkts der Java-Erweiterung. Verfolge, wie der angeforderte Name extractedMethod gegen die umgebende Klasse geprüft wird, und überprüfe anschließend, dass ein Konflikt erkannt und vor oder nach dem Refactoring eine Warnung angezeigt wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java, typescript
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100