実際に有用で、クラスの名前変更以上のことができる状態ですか?
5 に答える
CDT (C/C++ 開発ツール - Eclipse プロジェクト) 5.0 には新しいリファクタリングが多数あります
* Declare Method
* Extract Baseclass
* Extract Constant
* Extract Method
* Extract Subclass
* Hide Method
* Implement Method
* Move Field / Method
* Replace Number
* Separate Class
* Generate Getters and Setters
CDT リファクタリングwikiがあります
C++ 用のリファクタリング ツールを提供するための多くの努力がありましたが、そのほとんどはかなり早い段階で失敗しました。そのようなツールの作成には、C++ ソース コードを処理するための完全な機能が必要だからです。自動化されたソースからソースへの変換の最も基本的な形式でさえ。
幸いなことに、gcc へのプラグインの導入により、関連する取り組みが、C++ コンパイラの独自の実装に頼る代わりに、この目的のために既存の C++ コンパイラを実際に活用できる可能性が最終的に予見可能になりつつあります。
より詳細な議論については、こちらをご覧ください。
当分の間、広く自動化された C++ リファクタリング サポートを提供する最も有望な候補は、確かに Mozillaポークプロジェクトと、それに関連するコンパニオン プロジェクトDehydraです。
Ref++ などでサポートされている一部の C++ リファクタリングでは、C++ 構文を完全に理解する必要はありません。たとえば、プルアップ法、プッシュダウン法などは非常に簡単です。何らかの理由で、この種のリファクタリングは CDT リファクタリングに実装されていません。
ええ、コードが複雑すぎる場合、それらのほとんどは実際には機能しません。メソッドの移動、名前の変更などで問題が発生することがあります。
C++ は、リファクタリングのサポートを提供するのが非常に難しい言語です。これは、言語が非常に複雑で解析が難しいためですが、主にプリプロセッサが原因です。
C/C++ IDE が他の言語に遅れをとっている主な理由は、プリプロセッサにあります。