良好的程序員寫出優秀的軟件,優秀的程序員“偷竊”優秀的軟件。
NIH(Not Invented Here)綜合徵的特點就是人們會為了證明自己能夠提供更加卓越的解決方案而放棄其他開發人員已經完成的工作。
Unix哲學準則:
- 小即是美
- 讓每一個程序只做好一件事情
- 儘快建立原型
- 舍高效率而取可移植性
- 使用純文本文件來存儲數據
- 充分利用軟件的槓桿效應
- 使用shell腳本來提高槓杆效應和可移植性
- 避免強制性的用戶界面
- 讓每一個程序都成為過濾器
Unix哲學的次要準則:
- 允許用戶定製環境
- 儘量使操作系統內核小而輕巧
- 使用小寫字母,並儘量保持簡短
- 保護樹木
- 沉默是金
- 並行思考
- 各部分之和大於整體
- 尋找90%的解決方案
- 更壞就是更好
- 層次化思考
如果你準備開始編寫一個程序,請從小規模開始並儘量保持。
軟件開發應該力求簡短。
小程序往往只具有單一功能,而單一功能的程序往往也很小。
注:關於小程序和單一功能,我想到以前在IBM DW上看到的一篇文章提出的一種實踐規則:
1、一個方法只做一件事;
2、一個方法的代碼具有相同的邏輯層次;
3、遵循前面兩個規則自然將產生大量短小、具有單一功能的方法,這些方法便於重用。
閱讀更多 架構師的修煉之路 的文章