Skip to Content
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック
book

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック

by Dustin Boswell, Trevor Foucher, 角 征典
June 2012
Beginner to intermediate content levelBeginner to intermediate
260 pages
2h 35m
Japanese
O'Reilly Japan, Inc.
Content preview from リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック

10章無関係の下位問題を抽出する

エンジニアリングとは、大きな問題を小さな問題に分割して、それぞれの解決策を組み立てることに他ならない。この原則をコードに当てはめれば、堅ろうで読みやすいコードになる。

本章のアドバイスは、無関係の下位問題を積極的に見つけて抽出することだ。ぼくたちは以下のことを考えている。

  1. 関数やコードブロックを見て「このコードの高レベルの目標は何か?」と自問する。
  2. コードの各行に対して「高レベルの目標に直接的に効果があるのか? あるいは、無関係の下位問題を解決しているのか?」と自問する。
  3. 無関係の下位問題を解決しているコードが相当量あれば、それらを抽出して別の関数にする。

コードを抽出して別の関数にするなんて毎日やっていることかもしれないけど、本章では無関係の下位問題を抽出する場合に限定している。このようにして抽出されたコードは、自分がアプリケーションからどのように呼び出されるのかわかっていない。

この技法は簡単に使えるのに、コードを大幅に改善できる。だけど、なぜだか知らないけど、多くのプログラマがうまく使いこなせていない。うまく使うコツは、無関係の下位問題を積極的に探し出すことだ。

本章では、君がこれから直面するさまざまな状況に対して、この技法を適用した例をいくつか紹介していこう。

10.1 入門的な例:findClosestLocation()

以下にJavaScriptのコードがある。このコードの高レベルの目標は「与えられた地点から最も近い場所を見つける」ことだ(斜体のところで難しい幾何学の計算が出てきてるけど怖がらないで)。 ...

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.
Start your free trial

You might also like

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

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

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

Publisher Resources

ISBN: 9784873115658Other