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のルール

ルール7失敗が起こる場合をなくす

 この表題は、楽観的な感じがするよね? 一体どういう意味なんだろう?

 回避しようのない失敗の場合だってある、そうだろ? あるファイルを開こうとしたところで、そのファイルは存在しないかもしれないし、他のユーザーがロックしてるかもしれない。どんなに賢いインターフェイス設計も、ファイルを開こうとして失敗する可能性を回避できない。だから、そういう話じゃないってことは確かだ。むしろ、ファイル操作自体の失敗ってわけじゃない、実際には回避できる類の失敗をなくすって話に違いない。おそらくは、使い方の間違いだ。例えば、ファイルへのハンドルを閉じた後でファイルに書き込んだり、初期化が完全に済む前にオブジェクトのメソッドを呼び出したり、とか。

 使い方を間違えることのないようなシステムを設計できるかもしれない。でも、簡単じゃなさそうだ。そして実際、それは簡単じゃない。システムの間違った使い方が不可能であるように設計するのは、かなり難しい。ある機能をユーザーに公開すれば、ユーザーはその機能を使う奇妙な方法を見つけ、最終的に全てが爆発して吹っ飛ぶだろう。例えば、完全にMinecraftのブロックだけで作り上げた、実際に機能する8ビットプロセッサーとかね1

1 マジだよ(https://www.youtube.com/watch?v=FDiapbD0Xfg)。

 そして、チームにいる他のプログラマーに対し、ある機能を公開したら、やつらはその機能を間違った使い方で使う。必ずだ。そういう間違った使い方が、意図的で、何かを動作させようとする必死の試みだったりすることがあるかもしれない。例えば、ファイルシステムのシャットダウン用ルーチンを呼び出した後に、ファイルのハンドルを閉じること。そいつが、望ましくないコールバックを回避する、唯一の手段だからだ。また、間違った使い方でもっとありそうなのは、インターフェイスのユーザー本人が全く意図しないようなもの、例えば、インターフェイス呼び出し方法の解釈を誤ったとかいうものだ。 ...

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
行動を変えるデザイン ―心理学と行動経済学をプロダクトデザインに活用する

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

Stephen Wendel, 武山 政直, 相島 雅樹, 反中 望, 松村 草也

Publisher Resources

ISBN: 9784814400416Other