問題タブ [refactoring]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
version-control - Borland StarTeam を使用してフォルダ構造が変更された場合、ファイルをマージするにはどうすればよいですか?
フォルダーの移動を含むいくつかのコードをリファクタリングしている最中であり、定期的にマージして最新の状態に保ちたいと考えています。作業コピー内でフォルダを移動した後にマージする最良の方法は何ですか?
python - Python にはどのリファクタリング ツールを使用していますか?
名前を変更したいクラスがたくさんあります。それらのいくつかには小さな名前があり、その名前は他のクラス名で再利用されます。その名前を変更したくない場合です。このほとんどは Python コードにありますが、クラス名を参照する XML コードもいくつかあります。
単純な検索と置換では、これまでのところしか取得できません。私の場合、AdminAction を AdminActionPlug に、AdminActionLogger を AdminActionLoggerPlug に名前変更したいので、最初の検索と置換が 2 番目の検索と置換にも誤ってヒットします。
Python リファクタリング ツールの経験がある人はいますか? XML ドキュメント内のクラス名も修正できればボーナス ポイントです。
refactoring - 書き直しますか、それとも修復しますか?
皆さんもきっとそこに行ったことがあると思います。目的にかなわないきしみのある古いコード ベースが存在するプロジェクトに取り組み、それを最初から書き直すか、既存のものを修復するかを決定しなければなりません。
失敗のリスクが非常に高いため、ゼロからの再書き込みを決して試みてはならないというのが一般的な通念です。この問題に直面したとき、あなたは何をしましたか?
parameters - コンストラクター引数が多すぎますか?
次のフィールドを含むCustomerというクラスがあるとします。
- ユーザー名
- Eメール
- ファーストネーム
- 苗字
また、ビジネスロジックに従って、すべてのCustomerオブジェクトにこれらの4つのプロパティを定義する必要があるとしましょう。
これで、コンストラクターにこれらの各プロパティを指定させることで、これを非常に簡単に行うことができます。ただし、Customerオブジェクトに必須フィールドを追加する必要がある場合に、これが制御不能になる可能性があることは簡単にわかります。
20以上の引数をコンストラクターに取り込むクラスを見てきましたが、それらを使用するのは面倒です。ただし、代わりに、これらのフィールドが必要ない場合は、未定義の情報が発生するリスクがあります。さらに悪いことに、これらのプロパティを指定するために呼び出し元のコードに依存している場合は、オブジェクト参照エラーが発生します。
これに代わるものはありますか、それともコンストラクター引数のX量が多すぎて、一緒に暮らすことができないかどうかを判断する必要がありますか?
refactoring - 初心者にとってより良いリファクタリング ツールはどれですか (学習と使用が簡単なもの)?
Resharper、RefactorPro など?
refactoring - リファクタリングに関するリソースはどこにありますか?
リファクタリングは、動作を変更せずに既存のシステム設計を改善するプロセスです。
MartinFowlerの独創的な本「リファクタリング-既存のコードのデザインの改善」とJoshuaKerievskyの本「RefactoringtoPatterns」の他に、リファクタリングに関する優れたリソースはありますか?
refactoring - バグ データベースでのリファクタリングの追跡
ソースコードへのすべての変更がバグレポートまたは機能要求に関連付けられなければならず、そのポリシーを改革する方法がない場所で働いているとしましょう。このような環境で、コードのリファクタリング (つまり、コードを改善するが、バグを修正したり機能を追加したりしない変更) に対処する最善の方法は何ですか?
- バグレポートを作成し、リファクタリングを関連付けます。
- 機能要求を作成し、リファクタリングを関連付けます。
- バグレポート/機能リクエストに関連するコードの作業中に、リファクタリングに忍び込みます。
- リファクタリングを行わないでください。
- 他の
すべてのバグ レポートと機能の説明は、マネージャーと顧客に表示されることに注意してください。
.net - ブラウンフィールド アプリケーションのリファクタリングとアジャイルに焦点を当てた新しい仕事を始める
私は月曜日に新しい仕事を始めます。この会社には、.NET で記述された自社開発のエンタープライズ ケース管理アプリケーションがありASP.NET/VB.NET
ます。彼らはアジャイル開発プロセスを実装しようとしています。彼らは、2 人のスクラム マスター認定を取得し、アジャイル コーチを雇うまでになりました。現在、6 ~ 9 か月のリファクタリングに集中しています。
私の質問は、この環境を考慮して、コードベースに慣れ、着地したらすぐに生産性を高めるための優れたアプローチ/ツールは何ですか? なにか提案を?
c# - C# (または任意の言語) で繰り返しを削除するお気に入りの方法は何ですか?
700 行のクラスをコーディングしました。最悪。恥ずかしそうに頭を下げる。英国の夏と同じようにDRYとは正反対です。
所々に微調整を加えたカットアンドペーストでいっぱいです。これにより、リファクタリングの最有力候補になります。これに着手する前に、繰り返しが多い場合に尋ねたいと思っていたのですが、最初にリファクタリングの機会を探すのは何ですか?
記録のために、私はおそらく使用しています:
- ジェネリック クラスとメソッド
- メソッドのオーバーロード/連鎖。
あなたのものは何ですか?
ruby-on-rails - モデル、コントローラー、ビューにまたがるRailsミックスインを作成する方法
私の小さなRailsアプリでのコードの重複を減らすために、モデル間で共通のコードを独自の個別のモジュールに組み込むことに取り組んできました。
モデルの内容はかなり簡単です。最初にモジュールを含める必要があります。例:
これは正常に機能していますが、これらのモデル間でも共通になるコントローラーとビューコードをいくつか用意します。これまでのところ、送信可能なものにこれを使用しています。
基本的に、コントローラーとビューに対してインクルードSendable::ControllerとSendable::View(または同等のもの)を実行することを計画していますが、これを行うためのよりクリーンな方法はありますか?私は、モデル、コントローラー、ビューの間にたくさんの共通コードを配置するためのきちんとした方法を求めています。
編集:明確にするために、これは2つまたは3つのモデル間で共有する必要があります。