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

ルール8実行されていないコードは動作しない

 どんな大きなコードベースでも、それなりの期間存在すればなおさら、その中に行き止まり(dead end)がある。行き止まりというのは、何行かのコードや、関数や、下位システムで、以後実行されることのない部分だ。そういう部分が追加されたのにはおそらく理由があり、かつてのある時点では、そういうコード行も呼び出されていたのだ。でも状況は変化し、どこかの時点で、呼び出していたコードは全て、その必要がなくなってしまった。そして呼び出しは来なくなる。コードは孤立してしまったのだ。

 時には、プログラム内の他のどの場所からも呼び出されない関数みたいに、孤立状態であることがはっきりしている場合もある。使っている言語とツールチェイン1がそれなりにしっかりしているなら、そういう決まった種類のデッドコード(dead code)に関する警告だって表示されるかもしれない。

1 訳注:ソフトウェア開発向けに組み合わせて用いる複数のツール群。

 もっと一般的なのは、孤立状態にあるコードがそれほどはっきりしていない場合だ。はっきりしてないといっても、基底クラスで定義された仮想(virtual)メソッドが、ある派生クラス向けには決して呼び出されないとか、機械的な構造上の問題の可能性はあるかもしれない。でも静的解析では、そういう類のことは検出できない2。あるいは、関数内の、ある特殊なエッジケース3を処理するために書かれたコードがあり、そういう場面では特殊な条件分岐処理が必要になっている。ある時点で状況が変わり、そういう場面は以後発生しようがなくなる。そのエッジケースのコードはそこに残ったままだが、呼び出されることは二度とない。

2 訳注:C++の仮想関数は、派生クラスで再定義されるメンバー関数(メソッド)で、基底クラスで ...

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