March 2023
Intermediate to advanced
384 pages
5h 30m
Japanese
依存関係のないプログラムを書くのは難しい。関数は他の関数に、モジュールは他のモジュールに、そしてプログラムは他のプログラムに依存する。アーキテクチャはフラクタルだ。関数、モジュール、プログラム、システムのどのレベルでもコードは図16-1のように何らかのボックスとそれをつなぐ矢印のダイアグラム、つまり依存関係を表現できる。
図16-1 ボックスと矢印のダイアグラム
しかし、依存関係を能動的に管理しなければ、コードはすぐに所謂スパゲッティコードになり、ダイアグラムは、図16-2のようなものになってしまう。
図16-2 もつれ合う依存関係
この章では依存関係とそれを管理する方法を学ぶ。依存関係にはさまざまな種類があり、それぞれを異なる手法で管理する必要があることを学ぶ。依存関係をグラフ化する方法、健全なシステムであるかどうかを判断する方法も学ぶ。アーキテクチャを本当に単純化する方法を学び、複雑さを管理し、コードベースのロバストネスを向上させる。
依存関係(dependency)とは、要するに関係(relationship)のことだ。あるコードが特定の形で動作するために別のコードを必要とするなら、それを依存関係と呼ぶ。一般に、依存関係は、何らかの形でのコードの再利用のために使われる。関数は、振る舞いを再利用するために他の関数を呼び出す。モジュールは、他のモジュールで定義されたデータ型や関数を再利用するためにモジュールをインポートする。ほとんどのコードベースは、すべてのものを文字通りゼロから書いても無意味だ。コードベースの他の部分や外部の組織が開発したコードであっても、再利用すれば得られる利益は大きくなり得る。 ...
Read now
Unlock full access