Rename refactoring doesn't rename a function's default arguments when the renamed variable is defined in the class scope
Maintainer antworten meist innerhalb von 7 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 50/100
Rechercherichtung
Reproduce the issue by running the Rename refactoring on the PorterStemmer class attribute in the Word example, and confirm the default argument stemmer=PorterStemmer in stem is left unchanged. Then trace why occurrence search finds the class-level assignment but not the default-argument reference in the function signature. Done when the default argument is renamed along with the attribute and the same program runs without a NameError.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Applying the Rename refactoring to the following program causes runtime problems.
Steps to reproduce the behavior:
- Code before refactoring:
import nltk
class Word:
PorterStemmer = nltk.stem.porter.PorterStemmer()
def stem(self, stemmer=PorterStemmer):
return stemmer.stem('')
-
Apply the Rename refactoring to the variable "PorterStemmer"
-
Expected code after refactoring:
import nltk
class Word:
PorterStemmer_refactored = nltk.stem.porter.PorterStemmer()
def stem(self, stemmer=PorterStemmer_refactored):
return stemmer.stem('')
- In the function "stem", the parameter type is not refactored to the new name. Code after refactoring:
import nltk
class Word:
PorterStemmer_refactored = nltk.stem.porter.PorterStemmer()
def stem(self, stemmer=PorterStemmer):
return stemmer.stem('')
- Vorherrschende Sprache
- Python
- Sterne
- 2.2k
- Forks
- 197
- Ø Merge
- 2 T. 13 Std.
- Gemergte PRs (30 T.)
- 5
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus python-rope/rope
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 88/100
python-rope/rope#927 ·
Maintainer antworten meist innerhalb von 7 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
python-rope/rope#926 ·
Maintainer antworten meist innerhalb von 7 Tagen
-
simplify.real_code blanks t-strings, so renames inside them edit the wrong offsetEvtl. vergeben @sean0407 hat das vor 10 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
python-rope/rope#913 ·
Maintainer antworten meist innerhalb von 7 Tagen
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 30/100
python-rope/rope#925 ·
Maintainer antworten meist innerhalb von 7 Tagen
-
Extract method/variable and introduce parameter don't check whether the new name is already in useOffen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 62/100
python-rope/rope#924 ·
Maintainer antworten meist innerhalb von 7 Tagen
Alle Issues in python-rope/rope
Ähnliche Issues
-
New InternshipOffennew_internship
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
-
get_graph warns that the oneway column is missing when no way has a oneway tagEvtl. vergeben @HTenkanen hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
cython/cython#8110 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
fix: security 🔐 style: article/section 📝 system: data-mgmt 🗃️ system: security 🔐 system: software 💻
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
uabrc/uabrc.github.io#1267 ·
-
Link Checker ReportOffenBot Type: Bug Type: Documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Maintainer antworten meist innerhalb von 1 Tag