3

StackOverflowの名前をFrackOverflowに変更するとします。

これで、コードには、「スタック」という名前のバリエーションを持つ数十のオブジェクトと変数、およびセレクターがすでに含まれています。それらを「Frack」に置き換えたいと思います。

だから私の質問は、正規表現フィルターを介してコードベース全体を実行し、これらの名前をすべて変更することを選択しますか?それともあなたは彼らをそうさせますか?

4

9 に答える 9

9

優れたIDEの「名前変更」機能を使用して、それを実行します。

于 2009-02-20T09:30:15.770 に答える
1

私は最初になぜ自分自身に質問しますか?それはあなただけが行うことができる一日の終わりのリスク/報酬の判断です。

文体的な理由でそれを行うのは非常に気が進まないでしょうが、クラスのリファクタリングにとっては正当な場合があります。

于 2009-02-20T09:28:24.277 に答える
1

まあ、必ずしも災害ではありませんが、それは確かに大規模なコードベースでいくつかの問題を引き起こす可能性があります。ハンガリアン記法が嫌いなのはそのためです。変数の型を変更した場合は、すべての変数名を変更することになります。

于 2009-02-20T09:31:06.657 に答える
1

ソリューションに特定の顧客の実装を参照する名前のオブジェクト、メンバー、フィールドがある場合は、代わりに、より一般的な名前を使用するようにこれらをリファクタリングし、Resharperに名前の変更を任せます。テキスト検索および置換ツール。

于 2009-02-20T09:31:26.750 に答える
1

ソース コードのバージョン管理システム (svn、git、bazar、mercurial など) を使用していた場合、コードをリファクタリングすることを恐れません。

ある種の「すべて置換」または IDE のリファクタリングを使用し、コンパイル (動的言語でない場合) とテスト (存在する場合) を実行します。

何か問題が発生した場合は、ソース管理システムを使用していつでもコードを元に戻すことができます。

于 2009-02-20T09:45:02.193 に答える
1

名前の変更は、おそらく最も一般的なリファクタリングです。最初にアプリケーションを作成するときに、名前やコードの配置などについて永続的な決定を行う必要がないという柔軟性が得られるため、コードをリファクタリングすることをお勧めします。この考えに慣れていない場合は、ウィキペディアのページから始めて、 Martin Fowler のサイトに飛び込むことをお勧めします。

ただし、名前を変更するために独自の正規表現を作成する必要がある場合は、より優れたツールを使用できます。ホイールを再発明して時間を無駄にしないでください。新しいホイールが誤って壊れたものを修正してください。オプションがある場合は、既存のツール (IDE など) を使用して汚い作業を行います。

名前を変更するものが「数十」ある場合でも、それらを手動で1つずつ見つけてから、自動名前変更を使用してコード全体のすべてのインスタンスを修正する方がよいと思います。

于 2009-02-20T10:17:10.557 に答える
1

JetBrains の Resharper や CodeRush と Refactor などのリファクタリング ツールを使用するだけです。DevExpressによる。コードベース全体の変数のすべての参照を自動的に変更し、さらに多くのことを行うことができます。私はリファクタリングを信じています!Visual Studio の VB バージョンにも含まれています。私は Resharper を使用していますが、Resharper なしでは開発を拒否しています。

于 2009-02-20T09:32:22.677 に答える
0

それを行うには正当な理由が必要だと思います。大規模なコードベース全体に多数の潜在的な副作用を伴う変更を行う場合 (これはときどき発生します)、通常、見逃した箇所でコンパイラーが失敗するようにする方法を探します。そして、可能であれば、休憩を最小限に抑えるために段階的に行う傾向があります.

ただし、名前を変更するためだけに名前を変更することはありません。

于 2009-02-20T10:24:25.407 に答える