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
Open Source 的好處
by thinker
2 Columns
關鍵字:
雜記
過去一個星期,我花了不少時間在做 linkname:ajaxmind http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/246 。就功能而言,大致上都完成了。另外也還有一些 request ,像是 folding 的功能,這些先放入 $todo$ 裡 :) 然而, Open Source 的好處到底在哪裡? 今晚,我突然決定將資料直接開檔,存在 local 的硬碟裡,而不再做 server side 的程式。這個$想法$是源自於試用 linkname:TiddlyWiki http://www.tiddlywiki.com/ 所帶來的經驗。然而,之前沒利用 $javascript$ 開檔的經驗,雖然有用 vbscript 開過檔,但$應用$在 $Firefox$ 上,必定不可行。這時 Open Source 的好處就出現了,我花了十分鐘在 TiddlyWiki 的 source 裡找尋,再花個十分鐘將存檔功能整合進 linkname:ajaxmind http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/246 。在不到半小時的時間裡,我就完成讀、寫檔案的功能。 這就是 Open Source 的好處,只要你有足夠的讀 code 能力,只要你知道到哪找 code ,您的工作效能突飛猛進。尤其 linkname:TiddlyWiki http://www.tiddlywiki.com/ 是使用 BSD style license ,更讓我沒有心理負擔。 另外,我也用到不少,過去寫的 Open Source 程式碼。當我在寫程式時,盡量讓程式成為獨立的元件,能自給自足,不去依靠其它的 library 。這樣的做法,讓元件容易被 reuse 。若非如此,一旦元件 depend on 其它的 code ,就難以拆解,元件的 reusibility 就會降低,被重複使用的意願也會降低。另外,好用的元件,其功能必定單純,只處理單一功能。例如, linked list 是很容易被 reuse 的元件,而其功能也很單純,只專注在一件事上。而之前我在 gingin 所開發的 RST like document renderer (gindoc) ,只專注於將 document 轉成 HTML ,使其和執行環境、 framework 隔離,因此被我用在很多專案上。 之前參加一場 linkname:Qing http://blog.qing.tw/ 的心得分享,主題是關於 Open Source 回收、再利用。其目的就是利用 Open Source 的資源,讓您的工作更有效率,不用一再做重復的事,專注在真正的問題上。然而,回收本身也會引發問題。必需先對程式進行拆解,才能利用。然而拆解的困難,在於模組間的錯縱複雜。若 Open Source 的專案,在 module 的設計上能更用心,相信 programmer 會更願意進行資源回收。這次 linkname:ajaxmind http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/246 在最後階段,整合數個其它來源的 code ,讓我能在耐心耗盡前,完成一個段落。對我這種過動者, Open Source 恰恰能滿足需要。
最後更新時間: 2007-04-28 23:29:01 CST |
引用
查詢:
COMMENTS: