Rename Method refactoring does not change the name of the super method in the classes that override it
Les mainteneurs répondent en général sous 2 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 45/100
Piste de recherche
Reproduce with the two-class snippet in the issue: apply Rename Method to BaseFormat.to_iterable and confirm DelimitedFormat.to_iterable keeps its old name. The issue does not name the rope source files, so locate the rename logic yourself. Done means the overriding method in the subclass is renamed too, and the base method's NotImplementedError body is left intact.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Rename Method refactoring applied to a method defined in a super class does not modify the signature of the method in the classes that override it
- Steps to reproduce the behavior:
class BaseFormat(object):
def __init__(self, fp, **kwargs):
pass
def to_iterable(self):
raise NotImplementedError('Must implement a "to_iterable" method.')
class DelimitedFormat(BaseFormat):
def __init__(self, fp, **kwargs):
BaseFormat.__init__(self, fp, **kwargs)
def to_iterable(self):
return None
-
Apply the Rename Method refactoring with any new name to 'BaseFormat.to_iterable'
-
Expected code after refactoring:
class BaseFormat(object):
def __init__(self, fp, **kwargs):
pass
def new_method_name(self):
raise NotImplementedError('Must implement a "to_iterable" method.')
class DelimitedFormat(BaseFormat):
def __init__(self, fp, **kwargs):
BaseFormat.__init__(self, fp, **kwargs)
def new_method_name(self):
return None
- The method that overrides the original method in the subclass is not renamed
- Langage dominant
- Python
- Étoiles
- 2.2k
- Forks
- 197
- Merge moyen
- 1 j 20 h
- PR mergées (30 j)
- 7
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de python-rope/rope
-
Difficulté 1/5 1-3 heures Accessibilité débutants 88/100
python-rope/rope#927 ·
Les mainteneurs répondent en général sous 2 jours
-
Extract raises IndexError or ModuleSyntaxError instead of RefactoringError for an empty or whitespace-only regionPeut-être pris @aliassar l’a pris il y a 3 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
python-rope/rope#926 ·
Les mainteneurs répondent en général sous 2 jours
-
simplify.real_code blanks t-strings, so renames inside them edit the wrong offsetPeut-être pris @sean0407 l’a pris il y a 14 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
python-rope/rope#913 ·
Les mainteneurs répondent en général sous 2 jours
-
Implement nonlocal variables scoping rule for rename refactorPeut-être pris @ryanchou1994 l’a pris il y a 1 jour. Ouvertebug
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
python-rope/rope#935 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 4/5 3-5 jours Accessibilité débutants 30/100
python-rope/rope#925 ·
Les mainteneurs répondent en général sous 2 jours
Toutes les issues de python-rope/rope
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
aws-samples/sample-per-model-bedrock#795 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Les mainteneurs répondent en général sous 1 jour
-
Pretalx reports older version to be the latest release than what is actually installed and availableOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
micropython/micropython#19906 ·
Les mainteneurs répondent en général sous 1 jour