The Inline Method refactoring removed an import
Maintainer antworten meist innerhalb von 7 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- Ein halber Tag
- Anfängerfreundlichkeit
- 55/100
Rechercherichtung
Start with the reproduction: apply Inline Method to StringlikeMixin.find in mixins.py, then compare the test_mixins.py imports before and after. The bug is that from nose.tools import * disappears, so the inlined assert_equal call breaks. Find where rope's inline refactoring rewrites imports in the edited module, and check whether it drops names that the rewritten code still uses. Done means test_mixins.py keeps the nose import after inlining and the test runs.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
The Inline Method refactoring removed an import from the test file, causing an error when the test file is run.
Steps to reproduce the behavior:
- Code before refactoring:
-- mixins.py
from __future__ import unicode_literals
class StringlikeMixin(object):
def __init__(self, text):
self._text = text
def _strkey(self):
return self._text
def find(self, sub, start=0, end=None):
if end is None:
end = len(self._strkey())
return self._strkey().find(sub, start, end)
-- test_mixins.py
from __future__ import unicode_literals, absolute_import
from nose.tools import *
from mixins import StringlikeMixin
def test_find():
text = 'Beautiful is better than ugly.'
blob = StringlikeMixin(text)
assert_equal(
blob.find('better', 5, len(blob._strkey())),
text.find('better', 5, len(text))
)
-
Apply the inline method to
StringlikeMixin.find -
Code after refactoring:
-- mixins.py
from __future__ import unicode_literals
class StringlikeMixin(object):
def __init__(self, text):
self._text = text
def _strkey(self):
return self._text
-- test_mixins.py
from __future__ import unicode_literals, absolute_import
from mixins import StringlikeMixin
def test_find():
text = 'Beautiful is better than ugly.'
blob = StringlikeMixin(text)
assert_equal(
blob._strkey().find('better', 5, len(blob._strkey())),
text.find('better', 5, len(text))
)
- 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
-
Extract raises IndexError or ModuleSyntaxError instead of RefactoringError for an empty or whitespace-only regionEvtl. vergeben @aliassar hat das vor 1 Tag übernommen. Offen
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 12 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 useEvtl. vergeben @aliassar hat das heute übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 62/100
python-rope/rope#924 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 7 Tagen
Alle Issues in python-rope/rope
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
area:docs documentation effort:M ready-for-agent
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
mczielinski/ob-analytics#423 ·
Maintainer antworten meist innerhalb von 1 Tag
-
infra
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 3 Tagen
-
documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
vllm-project/vllm-ascend#21033 ·
Maintainer antworten meist innerhalb von 1 Tag