読んだ #2 レガシーコードとどう付き合うか

Diary

めもりーさん著のレガシーコードとどう付き合うかを読了したのでチャプターごとの感想を書いていく。

なぜレガシーコードが生まれやすいのか

自分が所属している会社がどのフェーズに該当するか照らし合わせながら読むと参考になると感じた。レガシーコードが生まれる背景や技術的負債をどう返済していくと良いかが書かれているが、個人的に会社のフェーズや資金調達周りの記載の方が参考になった。

どこに焦点を当てて負債返却するかのヒントにもなるし、各フェーズで取り組むであろうエンジニアリングと自身の得意・好きを照らし合わせてみると転職先を探すときの手助けにもなるのではと感じた。

レガシーコードを改善するための道筋

レガシーコードをどう改善していくかについて、優先度の付け方や実装パターンを紹介してくれている。SOLID の紹介は簡易なコードで紹介されていて読みやすかった。Clean Architecture や Adaptive Code はサンプルや文章がより複雑だった記憶なので補正はかかっているかもしれない。

レガシーコードを読む力

リプレイスの比較表が参考になった。自分のリプレイス経験としても、レガシーコードの改善は書く時間よりも既存のコードを読んだり、どう改善するかに費やす時間の方が遥かに多いと感じている。OSS のコードを読むのはコードの意図もそうだが読解する体力も付けられるので普段触っているフレームワークやお気に入りのライブラリを少し読んでみるだけでも価値があると思う。なによりライブラリで書かれているコードの意図が読めると嬉しい。

普段見ないような実装や書き方があるかもしれないが、最近だと ChatGPT もあるのでわからない箇所についてはより調べやすくなっているので OSS のコードを読むハードルは下がっている気がする。

レガシーコードを改善するための準備

レガシーコードを改善するにあたってどの程度コスト(期間・採用等)をかける際の判断材料について書かれているように感じた。特に採用に関する記述については、現時点で負債返却に取り組んでいる会社は一読の価値があると思う。

レガシーコードを改善する

課題となっている箇所を特定して優先度をつけて改善していく考え方は大事だなーと思わされた。ロジックツリーを元にドキュメントを記述する部分は今後改善作業をすることがあったら取り入れてみたい。スタイルガイドの整備や CI・CD も勿論改善に含まれるのでこれらについても言及してくれている。

実装面でより深くレガシーコードの改善について知りたい場合はレガシーコード改善ガイドやリファクタリングを併せて読むといいかもしれない。


文章が読みやすく少ないページでここまでレガシーコードについて言及できるんだなぁと感銘を受けた。これからレガシーコード向き合う人はもちろん、既にレガシーコードと向き合っている人にもおすすめできる一冊でした。