7

ですから、私は自分で比較的大規模なプロジェクトに取り組んできましたが、以前の変数名のいくつかは理想的とは言えないことに気づきました。

しかし、プロジェクト内の変数名を簡単に変更するにはどうすればよいでしょうか。プロジェクトディレクトリを調べ、すべてのファイルを解析してから、変数名を目的の名前に置き換えることができるようなツールはありますか?私が想像する言語を理解するのに十分賢くなければなりません。

正規表現(Linuxではsed / awk?)ツールを使用して変数名を置き換えることを考えていましたが、特定の変数も文字列の一部として含まれることがよくありました。

私のプロジェクトには、同じ名前を共有しているが異なる名前空間にある2つのクラスが実際に存在するため、c++名前空間での変更に関する問題もあります。

Visual Studioでこれを実行できることを覚えていますが、Linuxでこれを実行するための最も安全でエレガントな方法は何ですか?

4

6 に答える 6

6

これはリファクタリングと呼ばれますが、C++でそれを行うための優れた方法があるかどうかは覚えていません。おそらくEclipseC++にそれがあったと思います。一見の価値があるかもしれません。

于 2011-01-12T05:17:40.283 に答える
5

最も安全な (自動化されていない方法) 方法:

  1. すべての単体テストが機能することを確認してください。
  2. すべてをソース管理に保存します。
  3. var を XXXvarXXX にグローバルに置き換えます (真剣に)
    a. または、編集が必要だと思われるファイルだけかもしれません。
  4. コンパイルしてみてください。コンパイルされないものはすべて、XXX を削除するだけで簡単に元に戻すことができます。
  5. コンパイルしたら、単体テストを実行します。
  6. 単体テストが機能するとき。XXXvarXXX を新しい名前にグローバルに置き換えます。
  7. 単体テストが引き続き機能することを確認する
  8. すべてをソース管理に保存します。

舌は頬の半分だけ。:-)

于 2011-01-12T05:28:36.790 に答える
1

Visual stuioがこれを実行できることを覚えていますが、Linuxでこれを実行するための最も安全でエレガントな方法は何ですか?

Linuxで利用可能なリファクタリングツールを使用して、Eclipseのビジュアルスタジオで行っていたのとほぼ同じことができます。

于 2011-01-12T05:18:05.237 に答える
1

f'n コピーは 400 ドルですが、こちらをご覧ください: http://www.xref.sk/xrefactory/download.html

もちろん使ったことはありません。

于 2011-01-12T05:23:10.177 に答える
0

C#とVisual Studioには優れた変数チェンジャーがあることは知っていますが、すべてのドキュメントで機能するかどうかはわかりません。C#で変数を変更すると、変数テキストの横にポップアップ表示されます。Change All

しかし、あなたは唯一の選択肢で立ち往生しているかもしれません。変数を変更して、コンパイラーがどこでうまくいかないかを確認してください。しかし、それは理想的ではありませんが、あなたの唯一の選択かもしれません

于 2011-01-12T05:21:41.213 に答える
0

プライベート変数を使用し、変数の名前を変更し、明らかな用途を変更し、コンパイラ エラーを修正します。

于 2011-01-12T05:23:18.437 に答える