UNIX哲学の基本原則

   このエントリをはてなブックマークに登録    2007/3/1

Basics of the Unix Philosophy」でUNIX哲学の基本原則がまとめられています。 UNIXの設計思想として紹介されていますが、多くは普通のソフトウェアを設計する場合にもあてはまると思われます。

1. Rule of Modularity(モジュール性):

きれいなインターフェースで接続された、簡潔な部品を書きましょう。

2. Rule of Clarity(明瞭さ):

明瞭さは賢さよりも良いです。

3. Rule of Composition(構成):

他のプログラムと接続できるようにプログラムを設計しましょう。

4. Rule of Separation(分離):

ポリシーとメカニズムを分離しましょう。エンジンとインターフェースを分離しましょう。

5. Rule of Simplicity(単純性):

単純化された設計をしましょう。複雑さは必要な時だけ追加しましょう。

6. Rule of Parsimony(節約):

大きなプログラムはどうしてもそれが必要な時だけ書きましょう。

7. Rule of Transparency(透明性):

透明性が確保できるような設計にしましょう。その方が検査とデバッグが楽になります。

8. Rule of Robustness(頑健性):

頑健性は透明性と単純性の産物です。

9. Rule of Representation(表現):

知識はデータに織り込みましょう。そうすればプログラムロジックは単純で堅牢になります。

10. Rule of Least Surprise(驚きが少ないこと):

インターフェースを設計する時には、できるだけ驚きがないようにしましょう。

11. Rule of Silence(沈黙):

特段驚くような事が無い場合、プログラムは何も言うべきではありません。

12. Rule of Repair(修理):

修理できるものは修理しましょう。しかし、出来ない場合には、できるだけ騒ぎながら迅速に失敗しましょう。

13. Rule of Economy(経済):

プログラマの時間はコンピュータの時間と比べて高価です。

14. Rule of Generation(生成):

可能な限り手作業を避けましょう。プログラムを使ってプログラムを書ける場合には、そうしましょう。

15. Rule of Optimization(最適化):

磨きをかける前にプロトタイプを作成しましょう。最適化は動作するようになった後にやりましょう。

16. Rule of Diversity(多様性):

一つの正しい方法を要求するものは全て信用しないようにしましょう。(原文 : Distrust all claims for one true way.)

17. Rule of Extensibility(拡張性):

将来のことも考えて設計しましょう。それは、思ったよりも早く来ます。


参考

The Art of Unix Programming

The Art of Unix Programming (本)

   このエントリをはてなブックマークに登録