python-rope / rope

a python refactoring library
GNU Lesser General Public License v3.0
1.96k stars 164 forks source link

Rename Method refactoring allows the use of previously declared field name #768

Closed researcher175 closed 8 months ago

researcher175 commented 8 months ago

Rename Method refactoring allows the use of previously declared field name It would be nice if Rope sent an alert to the user to prevent incompatible variable types in the code

  1. Steps to reproduce the behavior:

structure

-- main ---- formats.py -- test ---- test.py

formats.py:

DEFAULT_ENCODING = 'utf-8'

def detect(fp, max_read=1024):
    return None

test.py:

import unittest

from main import formats

CSV_FILE = 'data.csv'

class TestFormats(unittest.TestCase):

    def test_detect_csv(self):
        with open(CSV_FILE) as fp:
            format = formats.detect(fp)
        assert_equal(format, ",")
  1. Apply the Rename Method refactoring with the new name 'DEFAULT_ENCODING' to the method 'detect' in formats.py
lieryan commented 8 months ago

Closing. Ticket merged into #779.