【プリンシプルオブプログラミング】UNIX哲学
目次
はじめに
この記事は「プリンシプルオブプログラミング」を読んで自分なりにまとめた学習メモです。
プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則
- 作者: 上田勲
- 出版社/メーカー: 秀和システム
- 発売日: 2016/03/23
- メディア: 単行本
- この商品を含むブログ (11件) を見る
思想 〜プログラミングのイデオロギー〜
UNIX哲学
UNIX哲学とは、UNIXの背後にある設計の哲学のことで、いわば「UNIXという考え方」。
9個の定理
小は美なり
小さいものは扱いやすい。
コードを書く時は、小さなものから始めて、それを小さなままに保つ。
一つ1仕事
ソフトウェアがピュアになる。
一つのソフトウェアには、一つの仕事を担当させるようにする。
問題が大きかった場合は、まず、問題を分割する。そして、その小さな問題に対応する、小さなソフトウェアを作る。
即行プロトタイプ
試行錯誤なしでよいものは作れない。
早いプロトタイプ作成によって、リリースを早める。
【メリット】
- 前提の誤りを早期に発見できる
- 要件不備によって手戻りを減らせる
- 早いうちから誤りを取り除く作業を始められる
効率性より移植性
ソフトウェアの価値を持続。
移植性を重視した設計を行う。
ハードウェアに依存する部分と、依存しない部分を切り離した設計を行う。
データはテキスト
テキストファイルは万能型。
ソフトウェアは、各々テキストファイルを入出力するように設計して、ソフトウェア同士の連携を容易にする。
レバレッジ・ソフトウェア
少ない労力で巨大な成果を得る。
機能満載の大きなソフトウェアを書くのではなく、それぞれが単機能で単価値に集中した小さなソフトウェアを作る。
シェルスクリプト活用
梃子(てこ)の効果を増幅する。
シェルスクリプトをグルー言語として使用する。
小さなソフトウェアをシェルスクリプトでつなげて、大きな仕事を成し遂げる。
対話インタフェース回避
ユーザーもマシンもソフトウェアも束縛される。
1つの仕事をして、それを終えたら、コマンドインタプリタに制御を返すようなソフトウェアを作成する。
対話型のインタフェースを初心者向け、慣れている人向け、両方のインタフェースを用意する。
フィルタ化
ソフトウェアとは入出力である。
ソフトウェアは、データを処理するフィルタとして設計する。