Я изменял переопределенный метод подкласса. Чтобы определить влияние изменения, я просмотрел все возможные сценарии и протестировал их.Анализ воздействия на подкласс
Проблема заключается в том, что «все возможные сценарии» определяются чтением примеров использования бизнеса, причем точка останова обнаруживается, когда этот конкретный переопределенный метод попадает вместо других.
Есть ли надежный или программный способ узнать о воздействиях? Например, если это не переопределенный метод, я могу просто «Найти все экземпляры» или даже использовать grep, чтобы найти, где он вызван. Есть ли аналогичная мера для переопределенных методов? Или это просто неудобство полиморфизма?
Ну, это переопределенный метод, компилятор не будет жаловаться и просто использовать реализацию базового класса. –
Да, я мог бы переименовать метод, изменив его в базовом классе. Это единственное, что я знаю, что заставляет вас посетить все возможные виды использования. Это не забавно, но это делается. –
Проблема с этим, зависит от того, сколько других подклассов наследует базовый класс и переопределяет этот метод, это будет идти от неудобного к невозможному. И не сильно отличается от использования «Найти все ссылки» или аналогичных функций. –