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

ルール9集約可能なコードを書け

 ぼくの場合、コードがやっていることを理解するためにコードに目を通す作業に、たくさん時間を使うことを余儀なくされている。対象は、デバッグしようとしてるコードかもしれないし、書いてるコードから呼び出そうと思ってるコードかもしれないし、ぼくが担当してるコードを呼び出してるコードかもしれない。そして、そのコードがやろうとしてることが、実際にやってることじゃない場合がよくある。そういうことがあるおかげで、コードに目を通す活動が面白くなる。

 コードを読むといってもせいぜい、他のどんな自然言語を読むのとも変わらないことをやってるにすぎない。コードの語る話に沿って始まりから終わりへと読み進め、話の筋の紆余曲折を熱心に追いかけ、コードの終わりに到達すると、何をやるものなのか、また何故やるのかを、完全に理解できる。

 実際、一番簡単なコードの場合、単語を初見で理解するのと全く同じように、初見でコードを理解するだろう。

int sum = 0;

 あるいはこういうコードもあるかもしれない。

sum = sum + 1;

 以上2つの例では、思考も推論も要らない。コードを一目見るだけで十分理解できる。もっと大きなコードの塊でも、よくある何かのパラダイムにきちんと当てはまるコードなら、同じことができる。

Color Flower::getColor() const
{
    return m_color;
}

 ループ全体を初見で理解することさえできるかもしれない。

int sum = 0;
for (int value : values)
{
    sum += value;
}

 でもさすがにキツくはなってくる。コードの塊が大きくなればなるほど、初見で理解するのは難しくなる。あるいは、ぼくのようなひねくれた老兵プログラマーみたいな人は、コードをちらっと見て理解したつもりになるっていう失敗を何度もしまくってるので、コードを初見で理解する自分の能力を信頼しにくくなっている。 ...

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