以下の内容はhttps://mongolyy.hatenablog.com/entry/2022/04/28/085623より取得しました。


テストも書かずにリファクタリングとは何事か

はじめに

知人と話していて、「レガシーコードをメンテナンスしており、リファクタリングをしているが、テストは書いていない」という話を聞いて、それは違うのではないか?と思ったので、ポエムを書こうと思います

書いていることは、大体「リファクタリング」本や「レガシーソフトウェア改善ガイド」「レガシーコード改善ガイド」に書いてあることなので、まずはこれらを読みましょう。

リファクタリングとはなにか?

外から見たときの振る舞いを変えずに、内部の構造を変えることです。

外から見たときの振る舞いを変えずに、というのを検証するためにテストが必要になってきます。

テストを書かなかった場合に、どんな問題があるか?

テストを書かなかったときの問題点①

壊していても気づかない。気づけない。

テストを書かなかったときの問題点②

良い設計になっているか検証できない。 悪い設計になっている特徴として、テスタビリティが低いというのがあると思っています。 リファクタリングしたと思ったけれど、逆リファクタリングデグレさせている可能性さえあります。

レガシーコード(テストがない)の場合の対処法

個人的には以下の選択肢があると思っています

終わりに

テストが書けないと言っている場合も、よくよく見てみるとテストをかける場合が多いと思っています。 また、こんな面倒なことにしないためにも、最初からテストを書いておきましょう。




以上の内容はhttps://mongolyy.hatenablog.com/entry/2022/04/28/085623より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14