Skip to Content
レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス
book

レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス

by David Scott Bernstein, 吉羽 龍太郎, 永瀬 美穂, 原田 騎郎, 有野 雅士
September 2019
Beginner to intermediate
300 pages
3h 22m
Japanese
O'Reilly Japan, Inc.
Content preview from レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス

12章プラクティス8設計は最後に行う

すべての設計を最後まで先延ばしにすべきだと主張しているわけではない。ただ、ソフトウェアの設計活動の中には、開発サイクルの最後に実施したほうが効果的・効率的なものがあるのは確かだ。ここで議論しているのはホワイトボードでやる設計の話ではなく、コードがすでに書かれていて、テストでサポートされている状態からの設計の話だ。この時点が、ソフトウェアの保守性を設計するのに最適のタイミングなのだ。

テストがあることで安全にコードをクリーンアップできる。そのため、コードが動作して、サポートするテストがある状態まで待ってから、コードの設計を形にする。適用するデザインパターンの判断やシステムのより良い理解は、プロジェクトの最初よりも、プロジェクトの終わりのほうが得られやすい。

今までのやり方とは順番が逆になるのだ。これまでの開発では、コードを動かし、開発サイクルの終わりまでにどれだけバグを取れるかにフォーカスしてきた。ただ、このプラクティスでは、これまでとは違い、いかに保守可能なコードを書くかという設計に努力を払う。

テストを最初に書いて、最後に設計をしよう。

12.1 変更しやすさへの障害

保守可能なコードは読みやすく理解しやすいため、変更が簡単で柔軟だ。コードを書いた開発者だけでなく、ほかのプロのソフトウェア開発者にとっても、読みやすく理解しやすいのが重要だ。

ここまで、「良いコード」の一面は変更しやすさにあることを見てきた。開発者に変更しやすいコードとは何かと質問すると、たいていは、ドキュメントがそろっているとか、意図がわかる名前がついているとか、一貫したメタファーに従っているなどの回答が返ってくる。それらはコードの理解をたやすくし、変更を楽にする。

コードを変更しやすくするために、開発者が利用できるガイドラインはあるだろうか? 答えはもうわかっているだろう。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

ハンズオンNode.js

ハンズオンNode.js

今村 謙士
リーンエンタープライズ ―イノベーションを実現する創発的な組織づくり

リーンエンタープライズ ―イノベーションを実現する創発的な組織づくり

Jez Humble, Joanne Molesky, Barry O'Reilly, 角 征典, 笹井 崇司, Eric Ries

Publisher Resources

ISBN: 9784873118864Other