作者herospeed (タシロス・シェン)
看板NIHONGO
標題[格言] プログラマーの格言
時間Mon Oct 13 01:27:46 2008
私は,ソフトウェア設計には二つの方法があるという結論に達した.
一つは,欠陥がないことが明らかなほど単純にする方法である.
もう一つは,明らかな欠陥がないほど複雑にする方法である.
by C.A.R.Hoare
註解
軟體開發的世界裡面,最重要的不外乎就是減少 bug 的存在。
軟體工學論裡面,有一套零 bug 的設計原理論。
其中一個原理叫做「單純原理」。
這個原理的定義是,與其去意識複雜的全體的關連,
不如去滿足各個局所的完成度,不要使用高級的技巧,
採用單純的方式去達成目的。
而與單純原理對應的,就是上面的「欠陥がないことが明らかなほど単純にする方法」。
但是,這個世界上存在的軟體,很遺憾的如同下面:
│ 這是一面牆 │
有 bug 的軟體 > │ 這是一面很高的牆 │ > 沒 bug 的軟體
│ 這是一面永遠超越不過的牆 │
對於這個事實,偉大的電腦科學家 C.A.R.Hoare 在某次得獎的演講上發表了上面的格言。
第二個設計手法,其實也是零 bug,不過它跟第一個設計手法不同的是,
它是"看起來"零 bug。
雖然很酸,但是很抱歉,這個的確是軟體開發界的實態。
--
╰╬═══╬╯╭══════╮
╭═╬═╮ ═╮║╭═╭╩╯
║ ║ ║ ╭╩╬╩╮╰╮
║ ║ ║ ║ ║ ║╭╯
╰╩═╬═╩╯ ╰═╬═╯╰╦╮
╰═╯═╯ ══╬══ ╰
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.130.147.160
1F:推 johanna:我的結論是,軟體設計有兩種做法:一是可彰顯其毫無缺陷的 10/13 04:35
2F:→ johanna:簡單做法,二是可營造出無明顯缺陷的複雜做法。 10/13 04:35
3F:→ johanna:錯字...是「作法」 orz 10/13 04:37
4F:推 but:我對軟體設計的方式導出的結論,有兩種方式。 10/13 11:53
5F:→ but:一是把軟體設計得單純到很明顯不會有缺陷, 10/13 11:53
6F:→ but:不然就是把軟體設計得複雜到沒有明顯的缺陷。 10/13 11:53
7F:推 akanokuruma:兩種聽起來 都是好方法XD 10/14 00:47