UNIX哲学
UNIX開発の根底にある哲学です。
9個の定理でまとめられています。
- 小は美なり
- 一つ一つ仕事
- 速行プロトコル
- 効率性より移植性
- データはテキスト
- レバレッジ・ソフトウェア
- シェルスクリプト活用
- 対話インターフェース回避
- フィルタ化
小は美なり
- 小さいソフトウェアは扱いやすく、美しい
- 理解しやすい
- 保守がしやすい
- マシンリソースを食わない
1つ1仕事
- ソフトウェアをピュアに保つ
- 1つのソフトウェアに1つの仕事を集中して行わせる
速行プロトタイプ
- できるだけ早くプロトタイプを作成する
- プロトタイプで確度を高める
- 方針を決めることでコードを作成しやすくする
- 要件不備を早い段階で見つけやすい
- プロトタイプで確度を高める
効率性より移植性
- 効率性より移植性の高いコードを書く
- ソフトウェアの価値を持続させるコードを書く
- ハードウェアに依存しない
データはテキスト
- バイナリで持つよりテキストファイルで持つ
- バイナリでは理解しづらく扱いづらい
- テキストファイルは万能
- 標準規格を使うようにする
- json,xml,yml...
- 標準規格を使うようにする
レバレッジ・ソフトウェア
- ソフトウェアを梃子の原理のように扱う
- 少ない労力で巨大な成果
- 手作業を自動化する
シェルスクリプト活用
- シェルスクリプトでソフトウェアを接着する
- シェルスクリプトをグルー言語として活用する
対話インターフェイス回避
- ユーザーの入力を待つような処理を避ける
フィルタ化
- ソフトウェアをフィルターとして設計する
- ソフトウェアは入出力を扱うフィルター