Абстрагирование нескольких классов C # - PullRequest
1 голос
/ 05 октября 2011

Мне приходится иметь дело с проектом, где кто-то еще скопировал и вставил один и тот же класс около 12 раз, добавил некоторые настройки, но в основном структура классов действительно похожа, потому что они были скопированы друг от друга.

Мне не терпится рефакторинг кода, потому что я не могу смотреть на базу кода.

Есть ли инструмент, который может автоматизировать некоторые из этих проблем, то есть извлекать идентичные свойства и методы вродительский класс и заставить другие классы наследовать от него?

Ответы [ 4 ]

3 голосов
/ 05 октября 2011

Подобно Аривману, дать Решарпер выстрел. 30-дневная бесплатная пробная версия, пожизненная лицензия на человека (значит, вы можете забрать ее домой и на другую работу, если они позволят).

2 голосов
/ 05 октября 2011

Я не знаю ни одного бесплатного решения (кроме как сделать это самостоятельно), но вы могли бы попробовать NET Refractor от KnowDotNet.У них даже есть 30-дневная бесплатная пробная версия!

1 голос
/ 05 октября 2011

Я бы также порекомендовал вам использовать такой инструмент, как Детектор клонов , прежде чем выбрать Естественный отбор , возможно, будет больше скрытого дублирования.

Решительно-скучные игры Resharper определенно дадут вам несколько советов о запахах кода и комбинациях клавиш, которые можно исправить в один миг.

Вы также можете использовать некоторые фрагменты из здесь , и я лично считаю, что разветвление и тегирование могут быть весьма эффективны в подобных ситуациях.Я думаю, что любая аналитическая экспертиза до погружения в код тоже имеет большое значение.

0 голосов
/ 05 октября 2011

Здесь мы используем simian , чтобы найти повторяющийся код. Но, опять же, вам все еще нужно ручное вмешательство 2 удалить или 2 обновить его.

...