The Old Blog Archive (Traditional Chinese), 2004-2009

好孩子的軟體設計心得(機車版)

Einmal ist keinmal.
只發生過一次的事情,跟沒有發生過是一樣的──德諺

Jamais deux sans trois.
有二必有三──法諺

  1. 如果你沒在使用undocumented API,那一定是因為你的程式沒什麼了不起的
  2. 過早求最佳解乃萬惡根源 (Premature optimization is the root of all evils)。
  3. 沒有人想當醜男或醜女。實際在出貨運轉的程式會醜,有一半是因為經歷了歲月的風霜。另一半原因是錢付得太少。
  4. 關於技藝 (tekhnologia) 與複雜性:「人生苦短,技藝博大,機會稍縱即逝,經驗不可信賴,判斷甚難做成」
  5. 沒有一套重要的GUI應用程式是沒有客製UI元件的。
  6. 與上一條相關的是:一套重要的GUI應用程式,必然至少有一處違反所在平台UI guideline的地方。
  7. 所有web的應用程式都不怕沒人用,都怕太多人用。
  8. 要重視歷史。傳道者說:已有的還會再有,已來的還會再來。有時候要解決問題,最快的方法,是去幹一段 Win16 (我沒有在開玩笑) 或者 OS 9 或者 NeXTSTEP 時代流傳下來的 code …
  9. 如果平台廠商跟你說,使用某某私有 API 是危險的,他們一定在隱藏什麼不方便的真相。例如,妨害競爭對手。不要太相信平台廠商說的話。
  10. 基本上對於「我們將在下一版中抽掉某某 undocumented API」一事要抱持懷疑態度。試想:他們如果真的抽換了,那還在使用舊版原廠軟體的人不就掛了?
  11. 跟上一條相比,documented API 會在完全沒有解釋的情況下被抽換掉的機率反而是比較高的。你要知道,做狗食的廠商,自己家裡不見得會餵同樣的食物。
  12. 關於重新發明輪子。西諺如是說:If something is worth doing, it’s probably worth doing twice!
  13. 美好的事物都要做出來了、送到手上才算數。古諺有云:真正的藝術家要有船 (real artists ship)。

5 Responses to “好孩子的軟體設計心得(機車版)”

  1. on 09 Sep 2008 at 11:05gasolin

    原來程式也有韓國血統,得靠不停地整型才能變漂亮 :D

  2. on 09 Sep 2008 at 12:56asee

    真不是普通機車勒~~~

  3. on 09 Sep 2008 at 16:56amber

    同意最後一條。

    成品要到手上,才能作數啊。

  4. on 17 Sep 2008 at 12:52Yifeng Gui

    經常重新發明輪子…

  5. on 30 Sep 2008 at 11:49ilya

    最後一句:real artists ship 真正藝術家要有船,也許可以改成「要走船」。哈。