Czy ktoś zna w pełni funkcjonalne narzędzie do refaktoryzacji dla C ++, które działa niezawodnie z dużymi bazami kodu (około 100 000 linii)?
Próbowałem wszystkiego, co udało mi się znaleźć w ciągu ostatnich lat: SlickEdit, Eclipse CDT. W ogóle nie nadawały się do użytku.
PODSUMOWANIE : Poświęciłem trochę czasu i oceniłem „Visual Assist X” oraz „Refactor for C ++”. Oba mają imponujące funkcje, ale oba również nie są doskonałe. Wyodrębnienie dużego bloku kodu zwykle nie jest satysfakcjonujące bez ręcznych modyfikacji - i dlatego się nie opłaca.
„Visual Assist X” ma fajne funkcje, takie jak znacznie bardziej kompletne autouzupełnianie itp. Ale prowadzi do tak dużego migotania i znacznie spowalnia w niektórych punktach.
Moim zdaniem odpowiedź brzmi: „Nie, nie ma gotowego do produkcji narzędzia do refaktoryzacji dla C ++”
AKTUALIZACJA Marzec 2015 Jeśli chodzi o hdoghmens, odpowiedz dzisiaj, próbowałem Resharper dla C ++. Jego link https://www.jetbrains.com/resharper/ nie mówi nic o C ++. Ale znalazłem Resharper C ++, który został ogłoszony ponad rok temu tutaj:
https://www.jetbrains.com/resharper/features/cpp.html
Wypróbowałem to z VC2010, używając podstawy kodu 20 MB.
Test 1: Metoda wyodrębniania: powoduje wyjątek Resharper. Żaden kod źródłowy nie został zmieniony.
Test 2: Metoda wyodrębniania z innego źródła: działa dobrze
Test 3: Zmień sygnaturę wyodrębnionej funkcji: Wyniki w uszkodzonym kodzie C ++:
bool myclass::do_work123(<unknown long Color>int& Filled*&, long, int&)
Może dlatego C ++ nie jest wymieniony na stronie głównej.
Moim zdaniem nadal odpowiedź na to pytanie brzmi „NIE” .