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の考え方とテクニック

16章単純に保つ

単純さは究極の洗練である。

――レオナルド・ダ・ヴィンチ

「KISS」という助言を以前に聞いたことがあると思います。つまり、「単純に保て、お馬鹿さん」(Keep it simple, stupid)です。それを読み間違えることはありません。単純さは優れた目的です。間違いなく、自分のコードに単純さを求めて努力すべきです。過剰に複雑なコードに取り組むことに憧れるプログラマはいません。単純なコードは透き通っています。その構造は明瞭であり、バグを隠していませんし、学ぶことも取り組むことも容易です。

では、すべてのコードがそうなっていないのはなぜでしょうか。

開発者の世界には、二種類の単純さがあります。誤った種類の単純さと正しい種類の単純さです。はっきり言えば、私達が追い求めている「単純さ」は、「できるだけ容易な方法でコードを書き、手抜きをし、厄介で複雑なものをすべて無視し(絨毯の下に押し込んで消えるのを願い)、間抜けなプログラミングであること」ではありません。

物事がこんなに単純であればどんなによいでしょう。多くのプログラマがこのような「単純な」コードを書いています。彼らは頭を働かせていないのです。プログラマによっては、悪いことを行っていることに気づいてさえいません。書いているコードについて十分に考えておらず、本質的に微妙な複雑さのすべてを正しく認識できていません。

このような頭を使わないやり方は単純なコードではなく、極度に単純化されたコードを生み出します。極度に単純化されたコードは、正しくないコードです。考え抜かれていないので、必要とされることを正確に行わないのです。たいていは、「主要な処理」だけを行い、エラー状態を無視したり、まれな入力を正しく処理しなかったりしています。このため、極度に単純化されたコードは、障害の温床です。これはひび割れになり、さらに極度に単純化されたコードで覆われます。このようなコードの修正は、一つずつ積み上げられ、最後にはコードが途方もないめちゃくちゃなものになっていきます。きちんと構造化された単純なコードとは、まさに対極の状態になっています。 ...

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