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つのプラクティス

11章プラクティス7テストでふるまいを明示する

テストはすぐにフィードバックを返してくれるので、変更がシステムのほかの部分に悪影響を及ぼしてもすぐわかる。悪影響を及ぼしたら、単に変更を取り消せばよいのだ。難しく考えない。ユニットテストを使ってコード単体ごとに独立した検証を行うことで、ロジックの問題もすぐ解消できる。どんなに見つけにくいバグでも、夜遅くにデバッガーとにらめっこしなくてもよい。ユニットテストでキャッチできれば、コードに入り込まない。そうすれば、あとで見つけて削除する必要もない。

開発者は、フィードバックによって動くものと動かないものがすぐわかる。これはソフトウェア開発の原動力を大きく変えるものだ。すばやいフィードバックがあればテストによって間違いが発見されるので、ものごとの理解も早くなるし、実験も積極的にできる。すばやいフィードバックを得るための簡単な仕組みさえあれば、チームの開発者全員がそれを活用できるし、より良いシステムを作るための学習ツールとして使うこともできる。確かに、良いコーディングプラクティスを学ぶことは、大幅な時間の節約になるだろう。だが、自ら書いたテストからのフィードバックをもとに、良いコーディングプラクティスを見つけていける開発者はたくさんいるに違いない。

私が以前手に入れた中古車は掘り出し物だったが、電気系統にちょっと問題を抱えていた。3人の異なる整備士に修理を依頼したものの、誰も問題の原因を見つけることができなかった。ヘッドライトも消えたままだし、ウインカーも点灯しない。3人ともヘッドライトを交換したが、ウインカーが点灯したのはほんの一瞬だった。だが、4人目の整備士が問題を発見した。問題は1箇所ではなく2箇所あったのだ。

ウインカーの回路は2箇所で短絡していた。だから3人の整備士が原因を発見できなかったのだ。このような、相互作用する複数の問題によって引き起こされる複合的な問題は、ソフトウェアであれば見つけることはほぼ不可能だ。そのような障害が起きると(実際に起きる)、問題を見つけて解決するのに何時間もかかる。何日もかかることもある。 ...

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