付録A

makeプログラムによる文書化とワークフローの作成

 makeプログラムは、ソースコードファイルから実行可能なプログラムを構築するために1976年に作られました。元々はC言語でのプログラミングを支援するために開発されたものですが、その言語に限らず、コードをコンパイルする際にも使用できます。マニュアルによると、「ファイルが変更されるたびに、他のファイルから自動的に更新されなければならないようなあらゆる作業を記録するために使用できる」とあります。makeプログラムは、ビルドツールとしての役割をはるかに超えて、ワークフローシステムとして進化してきました。

A.1 Makefileはレシピ

 makeコマンドを実行すると、現在の作業ディレクトリにあるMakefile(またはmakefile)というファイルを探します。このファイルは、ある出力を行うために組み合わせるアクションを記述したレシピです。特定の順序と組み合わせで完成するレモンメレンゲパイの作り方を考えてみてください。例えば、生地、フィリング、メレンゲを別々に作り、それらを組み合わせて焼くと、美味しいお菓子が完成します。これを可視化するために、図A-1に示すような文字列図というものがあります。

図A-1 パイの作り方を説明する文字列図 (Brendan Fong and David Spivak, Cambridge University Press, 2019から引用)

図A-1 パイの作り方を説明する文字列図 (Brendan Fong and David Spivak, Cambridge University Press, 2019から引用)

 パイ生地は前日に作って冷やしておけば問題ありませんし、フィリングも同様かもしれませんが、まずパイ生地を皿に入れ、次にフィリング、最後にメレンゲを入れるという順序は変わりません。実際のレシピでは、クラストとメレンゲは他のレシピを参考にし、レモンフィリングの手順と焼き方だけを記載することもあります。 ...

Get Pythonではじめるバイオインフォマティクス ―可読性・拡張性・再現性のあるコードを書くために now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.