.NETコードリファクタリングのベストプラクティスは何ですか?.NETコードのリファクタリングは、どのようなベストプラクティスですか?
答えて
リファクタリングベストプラクティスルールNo.1:いくつかのテストを最初に書きます!
リファクタリングは、コードのメンテナンスを容易にし、理想的にはコンポーネント/クラス間の結合を減らす必要があります。リファクタリングのための
良い候補者があまりにも多くのReSharperまたはVisual Studio's built-in toolsなどの
ツールが有用補助ある(単一責任の原則を破る)か、他のクラスへの高い結合を持つクラス、およびクラスです。
あなたはVB.NETを使用している場合は、チェックアウト:作業が完了したときにRefactor! for Visual Basic 2008
- をあなたのコードはあまりない、理解/読みやすくする必要があります。
- 一般的にあなたの方法は長く、短くはないになるはずです。
- 反復コードは、それ自身のメソッドに移動し、再利用する必要があります。
リファクタリングとアプリケーションの機能の追加または変更を混在させないでください。
あなたが何かを壊していないことを確認するためのテストスイートにリファクタリング。 quesionがあるよう
として漠然とした、何か良い答えを与えることは困難です。最も可能性の高い
通常書き込みテストは、あなたが最初に行うものではありませんレガシーコードと:しかし、私はそれはあなたの優れた出発点を与え、あなたはリファクタリングのMartin Fowler氏のカタログを読むことをお勧めあなた(「抽出法」のような自動リファクタリングを使用して、ツールを最初リーン
ReSharperの
テスト(デシベルの依存関係、外部ライブラリ、静的など)を書き込むことができないでしょうVSはお友達です)レガシーコードで効果的に働くMichael Feathersは、これらの依存関係を解消する方法を学ぶ非常に良い本です。
数値アルゴリズムとパーサーの場合、PEXは、キャラクタライゼーションユニットテストを簡単に作成するための非常に便利なツールです。
Aha。まず最初に行うことは、機能を変更しない小さな変更で可読性を向上させることです。 –
@Arnis L .:問題はいつもあります。「どうして私の些細なチャンクが何かチャネージ/ブレイクしていないことを確かめることができますか?私は経験から(!)最小の変更でさえも意図しない結果が生じることを知っています。 –
@Mitch最初にツールに頼ると、何かブレーキをかけたいと思うことが99%できます。次に行うことは、もちろんいくつかのテストを書くことです。 –
sourcecontrolシステムにソースコードを保存します。リファクタリングに失敗すると、現在のブランチがリセットされます。そうすれば、あなたはいつでも何らかの害をすることはできません。 &コードをちょうどハックすることができますので心配する必要はありません。それは新しい枝にそれを行うのは簡単だとき
また、これを行います。バグがリファクタリングプロセスの途中で起き上がったとき、すぐにパッチをロールアウトする必要があるかどうかはわかりません(以前の安定バージョンに基づいています)。
あなたがしたいことを再考するのに費やす時間の贅沢を持っていないかもしれないので、後で道路のためにリファクタリングし、どこかにそれらをリファクタリングし、どこかに貼り付ける特定の方法を注意してくださいコードを改良したり、改造したりすることができます。
すべてのコードの繰り返しを削除します。
実際に本を読むことをお勧めします。 "Refactoring: Improving the Design of Existing Code"、Martin Fowler
- 1. リファクタリング.NETコード
- 2. このコードをどのようにリファクタリングするのですか?
- 3. ユニットテストはどのように行うのですか.Netコード(リファクタリングが許可されています)
- 4. このJavaScriptコードをどのようにリファクタリングできますか?
- 5. このjQueryコードをどのようにリファクタリングできますか?
- 6. Javaで不要なアンボックス - コードをどのようにリファクタリングするのですか?
- 7. このLINQコードをどのようにリファクタリングしますか?
- 8. Gradle Antタスクの共通コードをどのようにリファクタリングするのですか?
- 9. このRedux接続コードをどのようにリファクタリングするのですか?
- 10. このPythonコードをどのようにリファクタリングするのですか?
- 11. このObjective-Cコードをどのようにリファクタリングするのですか
- 12. このRuby(コントローラ)コードをどのようにリファクタリングするのですか?
- 13. このIOコードをどのようにリファクタリングするのですか?
- 14. Perfmonのサンプリングレートはどのようなベストプラクティスですか?
- 15. このコードをどのようにリファクタリングすることができますか?
- 16. "リファクタリング・リファクタリング・リファクタリング・コード。これは正確に何を意味し、なぜそうするのですか?
- 17. Javascriptリファクタリング - どのように?
- 18. 関数にいくつかのコードをどのようにリファクタリングしますか?
- 19. オブジェクトモデルの設計では、WCFのベストプラクティスはどのようなものですか?
- 20. .NETでのReflectionはどのような用途ですか?
- 21. このJavaScriptコードをどのようにリファクタリングして短縮しますか?
- 22. ramda.jsを使用してこのコードをどのようにリファクタリングしますか?
- 23. このファクトリメソッドをどのようにリファクタリングするのですか?
- 24. このメソッドをどのようにリファクタリングするのですか?
- 25. ClearCaseの "ロック"ファイル - どのようにリファクタリングするのですか?
- 26. 何千ものJavaコードをどのようにリファクタリングするのですか?ツールはありますか?
- 27. どのようにリファクタリングするのですか?amTypeError - Angular^5.0
- 28. SQLクエリをどのようにリファクタリングするのですか?
- 29. スカラコードをどのようにリファクタリングするのですか?
- 30. ファイルネームスペースをどのようにリファクタリングするのですか?
qの背後にあなたの意図を詳しく説明できますか?それが立っているように、私のベストプラクティスは「それを行う」ことです。 – Gishu
はい、あなたが終わったものがあなたが始めたものより優れていることを確認してください; 0) – UpTheCreek
コードリファクタリングを行っている最中にベストプラクティスを知る必要がありますか? – Ahmed