Skip to Content
ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール
book

ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール

by Chris Zimmerman, 久富木 隆一
August 2023
Intermediate to advanced
452 pages
5h 11m
Japanese
O'Reilly Japan, Inc.
Content preview from ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール

ルール5最適化に関する教訓その1は、「最適化するな」

 プログラミング上の作業の中でも、ぼくのお気に入りなのは、最適化だ。通常は、何らかのコードのシステムがもっと高速に動作するよう手を加えることを意味するが、時には、メモリー使用量やネットワーク帯域幅やその他のリソースを最適化することもある。

 最適化がぼくのお気に入りの作業である理由は、成功度合いの計測が単純だからだ。ほとんどのコーディング作業では、何をもって成功とするかは曖昧になっている。本書みたいな数々の書籍が、良いコードや良いシステムとはどんなものなのかを一生懸命定義しようとしているものの、何をもって1行のコードを良いとするのかは、不明確なのが常だ。

 最適化については、そんなことはない。最適化の場では、答えはもっと鮮明だ。何かをもっと速く動かそうとするなら、その成功度合いを直接計測できる。その成功に伴う、コードのサイズや複雑性の増大という形で出てくるコストについても、同じことが言える。中途半端に定義された長期的利益のことを心配したりしないでいい。きみの新しいコードを数年後に読んだ誰かが、そのコードをすぐ理解して、プログラマーとしてのきみに対する感謝感激の波に押し流されるだろう……みたいなことを確信できるようにコードを整えたりしなくてもいい。目に見える成果が直ちに出るってだけのことだ。

 最適化が好きなのは、ぼくだけじゃない。実際、プログラマーなら誰でも知ってるプログラミングの格言を1つ生み出すきっかけになるほど、最適化っていう作業は魅力的だ。

早まった最適化は諸悪の根源である。

 ちなみに、これは引用文の全体じゃない。原文は、1974年にDonald Knuth1が書いていて、もっと多様な意味を含む。

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

行動を変えるデザイン ―心理学と行動経済学をプロダクトデザインに活用する

行動を変えるデザイン ―心理学と行動経済学をプロダクトデザインに活用する

Stephen Wendel, 武山 政直, 相島 雅樹, 反中 望, 松村 草也
レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス

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

David Scott Bernstein, 吉羽 龍太郎, 永瀬 美穂, 原田 騎郎, 有野 雅士
リーンエンタープライズ ―イノベーションを実現する創発的な組織づくり

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

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

Publisher Resources

ISBN: 9784814400416Other