LoginSignup
6
6

More than 5 years have passed since last update.

レガシーコード改善ガイド 第二章

Posted at

フィードバックを得ながらの作業を意識しよう

システム変更の方法

  • 編集して祈る
    • 計画、調査、確認を注意深く進める必要がある
  • 保護して変更する
    • テストで保護する = 確実なフィードバックを得る

単体テストが重要

  • システムの振る舞いから見て最も原始的な単位
    • 手続き型 -> 関数
    • オブジェクト指向 -> クラス
  • 優れた単体テストの条件
    • 実行が速い(0.1秒では遅すぎる)
    • 問題箇所の特定がしやすい
  • これらは単体テストではない
    • データベースとやりとりする
    • ネットワークを介した通信をする
    • ファイルシステムにアクセスする
    • 実行するために特別な設定が必要(環境設定ファイルの編集など)

上位レベルのテスト

  • レガシーコードでは、どこからテストを開始すべきか
    • 変更に関係しそうな部分のテストを優先的に用意せよ

レガシーコードの変更手順

  1. 変更点を洗い出す
  2. テストを書く場所を見つける
  3. 依存関係を排除する
  4. テストを書く
  5. 変更とリファクタリングを行う
6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6