あなたは努力と時間を必要とする状態にあるかもしれません。 パート1変更のメカニズム第1章ソフトウェアの変更1. 1テスト駆動開発(TDD)8. 知識と実践を通して十分な理解を持っているが、自分の考えを再編成したい人。 経験則#5主要な責任を見つける• 実施方針が気になるとき テスト可能なコードをテスト不可能なコードに徐々に追加することは容易ではありません。 2より良いストーリーを書くための7つの戦略 5. それを念頭に置いて、それはメインショットだけではありません。 発芽方法のクールバージョン• 2依存性注入 13. ほとんどの不良コードには固定された特性があります。
Nextそして、あなたはしばしば満足していると感じます。 3ナローイングポイントの落とし穴 第13章変更する必要があるが、どのテストを書くかわからない 13. 1 10億ドル、10億ドル 2. どうすれば安全に変更できますか? 19. 責任を確認できることは重要な設計スキルであり、実践が必要です。 もちろん、未検証のコードは制限が少なく、品質もさまざまです。 オブジェクトの状態を変更しないもの、値を返すメソッド• 第11章:変更する必要があります。 オープンソースプロジェクトを見て、時間をかけて他の人がどのようにやっているかを参照してください。 第17章アプリケーションに構造がない• システムの依存関係を緩和するインターフェイスを定義して、情報を非表示(カプセル化)します。 この本のいいところ 各章の概要については、概要を参照することをお勧めします。
Next市販品など、許容できない場合。 あなたの現在の仕事に集中してください。 メソッドが副作用を引き起こしているかどうかを簡単に理解できるように設計されています。 第12章1か所で多くの変更を行う必要があります。 変更を明らかにする• 188• できれば一からやりたい 古いプログラムを変更するたびに、新しいプログラムをゼロから作成したいという気持ちになります。 どこでも同じコードを変更します そして、 私のプロジェクトはオブジェクト指向ではありません そして。 変更時に変更が成功したかどうか、および他の部分が影響を受けたかどうかを確認する方法があった場合はどうなりますか?この場合、いくつかの変更を行ったり、すべてが正しいかどうかを確認したり、いくつかの変更を加えたりすることができます。
Next4仕様テストを書くための経験則 第14章ライブラリに依存しているため移動できない 第15章アプリケーションがAPI呼び出しでいっぱいになる 第16章変更するのに十分なコードを理解していません 16. クラスメソッドがプライベートの場合• 中毒を取り除く方法 セクション「1。 変更に取り組む前に、現在の動作を保護するために行う 11. 可能な限り、コードの影響を分析してください。 1分または1晩でフィードバックを受け取りたいですか?どのシナリオがより効率的ですか?• 1つのテーブルルックアップと1つのマスターテーブルの更新の場合、1つのマスターテーブルは1つのトランザクションなので、1つのマスターテーブルは1つのクラスです。 。 3動作の実装 11. 1コード品質を改善するための7つの戦略 9. 3コーディングとクリア 12. 2ユニットテストは普遍的ではありません 10. 作業しているシステムは問題ではありません。 つまり、「コードを理解してテストし、リファクタリングを有効にし、機能を追加するためのテクニックを紹介する本です。 テストを持たないクラスをインスタンス化できるかどうかを確認するには、テストを記述してコンパイラに必要なことを伝えます。
Nextコードの元の動作を変更するとき、1つの部分だけを変更する必要がある場合、それは直交と呼ばれます。 まあ、原則として、テストがあるはずですよね?私はそれについて知っていましたが、そうは思いません。 かなりの量の処理がコンストラクターで実行され、その内容を検出する必要があります。 仕事に対するあなたの態度を再考する機会。 2保護分離 4. 後輩が同じように感じないように、私たちは非常に保守的なプログラミングをしなければなりません。 最初に書いたように、これは異なる場所から9人しか集まらない新しい高速道路です。 4テスト駆動開発で迅速なフィードバックを提供 10. 仕事に対する態度を再考する機会。
Next変更 "、"ソフトウェアにはどのような変更がありますか? "、"ソフトウェアに発生する可能性のある依存関係 "および"変更に役立つツール "が示されています。 2コードスタブ 11. 2つを実行するにはリソースが多すぎる場合 章10この方法は、テストシステムでは使用できません。 ただし、これはそもそも悪いコードであるため、データベースアクセスコードはユーザーインターフェイスで記述されているため、単純なテストコードカバレッジの最初のステップから夢が断たれます。 したがって、それを覚える必要はありません。 本物のコードとテストコードを組み合わせると、ディレクトリ構造を上下に移動する必要がありません。 メソッドは単なるユーティリティプログラムであり、呼び出し元が気にするものではありません。
Nextご注意ください。 第6章少量バッチでの製造• 具体的なリファクタリング手法は「レガシーコードの改善ガイド」に残しますが、この本にはいくつかの改善例も含まれています。 楽しみのために少しプログラムしてください。 6循環的な複雑さの軽減 12. クラスはシステム内で単一の目的を持つ必要があり、クラスを変更する理由は1つだけです。 これらはすべてささいなことです。
Next