У нас есть устаревшая система, состоящая из классов A, B и C. A является ужасной и большой. Так и Б. И С тоже! (Это признано в компании, и мы пытаемся перефразировать их в будущем).Добавить изменение устаревшего кода
Более страшная вещь A и B расширяет C, которой они действительно не должны, поскольку они на самом деле не то же самое. Разработчик (позвоните ему X), который сделал кодирование, признал, что он сделал это таким образом, чтобы A и B могли использовать «НЕКОТОРЫЕ» методы C!
Теперь клиент хочет обновить устаревшую систему, и для изменения требуется, чтобы я добавил одно и то же изменение в A и B. То, что я могу сделать, это добавить изменение на C, чтобы A и B могли его видеть. Но если я это сделаю, я буду делать то же, что сделал Х.
Что я имею в виду, это написать еще один класс D, поэтому A и B могут иметь собственный D и получать изменения. Как вы думаете?
Заранее благодарен!
Sarah
Если вы можете добавить некоторые модульные тесты раньше, было бы лучше, чтобы быть увереннее в вашем рефакторинге ... –