大規模なコードベース(約100.000行)で確実に機能するC ++用のフル機能のリファクタリングツールを知っている人はいますか?
私はここ数年、何度も何度も見つけられるものを試しました:SlickEdit、Eclipse CDT。それらはすべてまったく使用できませんでした。
概要:私は時間をかけて「Visual Assist X」および「C ++のリファクタリング」を評価しました。どちらにもいくつかの印象的な機能がありますが、どちらも完璧とはほど遠いものです。通常、コードの大きなブロックを抽出することは、手動での変更なしでは満足のいくものではありません。そのため、効果はありません。
「Visual Assist X」には、より完全なオートコンプリートなどの優れた機能があります。ただし、特定のポイントでちらつきが多くなり、速度が大幅に低下します。
したがって、私の意見では、答えは「いいえ、C ++用の本番環境対応のリファクタリングツールはありません」です。
UPDATE 2015年3月 hdoghmensの返信については、今日、C ++用のResharperを試しました。彼のリンク https://www.jetbrains.com/resharper/はC ++について何も述べていません。しかし、ここで1年以上前に発表されたResharper C ++を見つけました。
https://www.jetbrains.com/resharper/features/cpp.html
20MBのコードベースを使ってVC2010で試してみました。
テスト1:メソッドの抽出:Resharper例外が発生します。ソースコードは変更されていません。
テスト2:ソースが異なるメソッドの抽出:正常に機能する
テスト3:抽出された関数の署名を変更する:壊れたC ++コードの結果:
bool myclass::do_work123(<unknown long Color>int& Filled*&, long, int&)
おそらくそれがC ++がメインページにリストされていない理由です。
私の意見では、この質問への答えはまだ「いいえ」です。