星期四, 10月 19, 2006

some feeling about .. C & L

搞了一陣子,終於有點了解CE的結構和code directory 安排方式。

感想:....

即使原來是很好的結構(其實我並不覺得architecture有比較好),
但是為了要做到"某些 source code要隱藏","某些source code 讓客戶修改",
所以還要特別將明明就是同一個模組的code拆開成兩個lib, obj,
然後明明是同一個module的code,還不能放在一起,要放在很遠的地方,
這樣,
導致module, source dependency 一團混亂,makefile 和 config 也一團亂,
所以沒辦法真的 在build的時候follow source, header dependancy...
所以還特地設計build tool,能夠盡量正確的follow到dependency...
但是,
結果還是一團混亂,build的process非常不清楚。
導致 user無法確定自己的修改到底有沒有 compile, link進去 (所以,為求保險,都enable "clean before build")導致build時間超長...
這樣就好像最近很有名的"有名大站"一樣,工程師 花時間在"內嵌一個讓人無法block掉的廣告"的技術上,而不是在增加服務品質(嗯,和資料保全上),所以 就算 他真的是一個很好的服務商,也被這些東西稿得一團亂。
所以我覺得wince 6.0 將原來kernel + oal 合在一個exe的設計,拆成kernel 和oal 兩個exe,然後用"插銷"讓兩個exe除傳送需要的"function table"給對方,這樣的設計,其實是為了 方便將kernel.exe的source code整個隱藏起來,不會像 5.0 一樣,因為oal 要讓custom設計而導致kernel 的大部分module都要release出來。

嗯,為甚麼要花這麼多時間在"隱藏"上?把原來很好的架構 攪得五馬分屍,
(CE的設計者看到他的設計被搞成這樣應該傷心吧..)

這樣有點了解到open source 為甚麼進步得比較快,為甚麼source code的品質比較好.....
因為programmer不用花時間這些無聊的事情上呀,完全依照功能需求來寫code,
不必為了這些狗屁到灶的事情傷腦筋....





很明顯的,這一篇是"純抱怨"....... :P

沒有留言:

張貼留言