Skip to Content
ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック
book

ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック

by Pete Goodliffe, 柴田 芳樹
December 2017
Intermediate to advanced
376 pages
4h 22m
Japanese
O'Reilly Japan, Inc.
Content preview from ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック

19章コードを再利用するケース

縮小、再利用、再修復、再構築、再改装、再完了、再販売、

リサイクル、あるいは堆肥にできないのであれば、

それは、制限され、再設計され、あるいは製品化から取り除かれるべきだ。

――ピート・シーガー

「コードの再利用」という不思議な言葉を耳にすることがあります。いっとき、それは驚くほど流行りました。もう一つのソフトウェアの銀の弾丸であり、いんちきベンダーが売り込む何か怪しいものです。私は、そんなものには騙されません。

ソフトウェアを開発するときには、「ユースケース(use case)」の観点から話すことが多いので、ここでも「再利用のケース(reuse case)」の観点から見ていきましょう。

再利用のケース1:コピー&ペースト

一つのアプリケーションからコピーされたコードは別のアプリケーションに外科的に移植されます。それはコードの再利用ではなく、コードの複製です。すなわち、コピー&ペースト プログラミング(copy-and-paste programming)です。それは、悪魔のようなものです。コードに対して海賊行為を行うのに等しい行為です。ソフトウェアの七つの海の豊富なコードベースから、ソフトウェアの宝石を略奪する荒くれ者のプログラマ集団を想像してください。大胆不敵ですが危険です。それは、船乗りがひどい船酔いの状態でコーディングしているようなものです。

DRYのマントラを思い出してください。繰り返しを避けることです。

この種の「再利用」は、一つのプロジェクトで同じコード部分を数え切れないくらい複製した後に、バグがあることに気づいたときには、致命的です。そのバグをすべて見つけて修正することは不可能でしょう。

そうはいっても、あなたはプロジェクト間でコピー&ペーストを行うことで仕事を終わらせられると思うかもしれません。コピー&ペーストはたくさん行われており、それで世界が終わることはなく、過剰にDRYされたコードが抱える不必要な結合を避けられるとも主張することがあります。 ...

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

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

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

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

Publisher Resources

ISBN: 9784873118208Other