robot
最新文章(10)
Mqskit 和其它相關工具
CPython 的 GC 二、三事
寫 Mecurial Extension 是件快樂的事!
Mozilla 台灣辨公室徵人啟事
關於 Apple 的兩項專利
core dump 之前的 frame
怎麼發出 beep 聲?
先承認你要找的是奴才吧!
程式碼要清的多乾淨?
FreeBSD 的 Thread-Local Storage 實作
首頁
新編
最新留言
Entries RSS
重要關鍵字(10)
coding (122)
Python (93)
FreeBSD (71)
WEB (61)
URL (48)
hardware (46)
javascript (36)
Linux (34)
blog (30)
C++ (16)
所有關鍵字
新增 URL
MadButterfly 的「作中學」
by thinker
2 Columns
關鍵字:
coding
我記得小時侯學到「作中學」時,無法了解其義意。自從離開學校之後,越來越來能體會「作中學」的妙處。很多時侯,想像的世界繞著我們,看不透。更可能,認知中的想像成份要比真實多一些。例如: 520 之後,從象牙塔裡走出來當官的專家。是的,「作中學」能讓我們保持和現實的結合,至少不會飄離太遠。 MadButterfly 將採用「作中學」的策略,希望能得符合 YAGNI 的原則。因此,開始以$範例$為基礎,透過開發$範例$程式的過程,了解實際的需求。之前,我寫了一個計算機的$範例$。在執行該$範例$時,因為需求而開始處理 mouse 的事件。也因為實例,對 mouse 事件有明確的了解。目前,我在執行「坦克大戰」這個$範例$,讓我開始處理 keyboard event 。另外,也發覺之前 API 的設計雖然有彈性,使用上卻有點麻煩,有必要在原有的 API 上,再包裹一層,提供更高階的介面。 透過實際的需求,不斷的驗證想像中的世界,能得到紮實的回饋。這些回饋,除了讓設計更實際,另一方面,在紮實的基礎上建構新功能,也更有效率和快速,減少混沌不明所造成的疑惑、浪費。未經驗證的設計,往往會讓開發者陷於游移,無法快速的做出正確的設計選擇。這會造成浪費心力,並且容易做出錯誤的決定。「作中學」能提供開發者正確度高的資訊,讓開發者更有把握,設計也更正確。雖然「作中學」會花掉許多時間於實作上,但資訊的不足造成的錯誤和浪費更為可觀。 我們總是希望能一次作對,但我們也知道這是不切實際的幻想。承認這個事實,能讓我們心甘情願的「作中學」,從實作中及早發現設計上的問題,及早予以改正。雖然,「作中學」會給我們浪費時間做無用的東西的假象,但帶給開發者的資訊是值回票價的。這是承認事實之後,有效的實際作為。看清事實者眾,做出回應的者寡,這是所謂的「知易行難」吧! 事實上,「作中學」並不是一件難事,但真正體認其好處而跨出第一步,卻不是件易事,這是所謂的「知難行易」吧!!
最後更新時間: 2008-09-17 01:48:27 CST |
引用
查詢:
COMMENTS: