レガシーソフトウェア改善ガイドを読みました
自分用のメモ、覚えておきたいところや知らなかったところのみを書き出してます
レガシーコード
変えるのには恐れとフラストレーションがでてしまう
- 動作をテストで保証すれば変えやすい
どこから対応すべきか
- エラー回数とかよく触ってるファイルとか - 静的解析ツール走らす
false positive バグじゃないのにバグ扱いされる
リファクタかリライトか
- リファクタに失敗したとき - 違う言語やフレームワークに乗り換える
リファクタの仕方
リアーキテクティング
- Webだとサーバー、クライアントサイドで分けるのがまず第一歩 - サービス指向アーキテクチャ(SOA) - アプリケーションを多数のサービスに分ける - マイクロサービス - サービスの独立性が強化されたSOA
ビッグリライト
開発環境を自動化する
test/staging/production環境の自動化
ビルドデプロイは手順を明確化しておく
レガシーコードを書かない
Javaのコードはだいぶ流し読みしましたが、ためになりました
デザインパターン頭に入ってないので、入れておきたい