如何处理遗留代码
這是篇非常好的文章,推薦給大家看看。
常常在網路上討論到有關程式的好壞的問題,有人會提到手上有一件很難看但可以運作的程式,依照"可以動就不要動"原則,公司中沒人敢大改這份程式,大家都在上面小修小改,談起來每個人都罵,改起來每個人都怕,而這個發問的熱血青年就不停的想衝撞體制,依自己的信念和原則想要去對這份程式大動干戈,但下場常常是大家被新冒出層出不窮的 bug 煩到又回到原本的東西,不然就是這位熱血青年經過了無數漫漫長夜後開始相信"可以動就不要動"這件事。
其實很多人沒給"建構"和"測試"應有的評價,因為這兩個都不是可以增加功能,甚至都不是增加可用程式碼的工作,但以我的經驗,一個專案的好壞常常可以從這兩件事中看出端倪。拿到一個連"編建"都很困難的專案,那要對它有好印象實在很難,這時第一件事就是怎麼讓它可以簡單的在原始的環境中編建出來。編建出來後,如果沒有方便的方式可以進行測試,那這個專案的穩定度也要有所質疑。
有人提到《修改代码的艺术》,嗯,已經定了書還沒到手,更讓人期待了。
Wednesday, November 28, 2007
Google Map 加入地形圖層
這次台灣沒有落後,同一時間也出現這個新功能了。所以目前台灣地圖上預設可以用的圖層有一般地圖,衛星圖(可切換道路顯示),還有地形圖(有道路顯示)。比起美國本土地圖還少了路況和街景,也還少了規畫路徑的功能,不過比起其他國家來說,台灣算是很快的了,像是韓國是連一般地圖都沒有。不過這次的地形圖的放大比例比起其他的圖層來說小得多,實際使用上可能不比一般地圖模式來得方便(不過我覺得地形圖比較好看),用做輔助角色倒是很不錯的。
不過 API 的部分好像還沒切換到這個版本,所以使用 API 顯示地圖的還沒出現這個功能,應該等一陣子就會自動出現了。
New terrain viewing option added to Google Maps! Google Maps Terrain
Explore new terrain New Google Maps Terrain Button
New Terrain Layer in Google Maps Google Maps增加地形功能
Wednesday, November 14, 2007
Google Android
我覺得我的預測一向很不準,像我在 Google 300 元的時候說他一定撐不了這個價錢的 (現在都 600 了),我在 Google Base 出來時認為是個重要的應用 (結果幾乎沒受人重視),在 wii 出來之前我也不認為這玩意可以比得過 ps3。不過,越不準越要預測,Google Android 可以對目前的 iPhone, wince 和 Symbian 造成威脅,甚至後來居上。
Google Android 一開始被人看到的就是採用 Linux 而非重新開發作業系統,這不讓人意外,在一開始 GPhone 在謠傳時就沒人懷疑這個猜測,第二個讓人看到了重點是自由且開放,免除目前大部分 mobile 平台的授權問題。但所謂的平台,最底層的 os 並不必然會影響成功與否,很多人都覺得能不能吸引開發者是個重要的因素,而這點並不容易做到。像 wince 就是以提供和 desktop 非常相似的開發環境,幾乎各種 desktop 上的技術都可以在 wince 上使用。而 iPhone 似乎是以 browser base 來的方式來進行開發。而 Google Android 是把眼光投向了 Java,要用 Java 提供中介層給一般應用程式開發者。
但一般來說 Java 在 mobile 上的版本是 JME,而雖然 JDK 已 GPL 了,但不包含 JME 的部分,這讓 Google 的企圖不可行。而 Google 的做法,就是不用 JME 版本,而開發自己的 VM: Dalvik,並可以由 java bytecode 轉至 Dalvik 的 .dex 。Google 用這個方式避開 JME 的問題,並將這個平台用Apache Licnese 開放出來。一來 Google 馬上就得到了全世界超多的 Java 開發者的資源,二來這個做法也立刻打擊了 JME 的市場,本來嘛,Android 剛出來就有相當不錯架構,底層也提供十分強大的支援 (OpenGL, Webkit, Location, XMPP 等等),本來嘛,能做神仙誰要做畜牲,能有開放又強大的東西誰要去搞那個受限又難用的 JME 呢。
不過啊,還是要等第一支 Android 手機出來才能做得準啦,不過大家已經可以開始做夢了。
Androidology, A series of educational videos on the Android platform
Dalvik: how Google routed around Sun's IP-based licensing restrictions on Java ME
Google Android平台先打到的是Java而非Linux?
Google手機平台背後的原創者
Android的虚拟机Dalvik引来论战不断
Google Android 一開始被人看到的就是採用 Linux 而非重新開發作業系統,這不讓人意外,在一開始 GPhone 在謠傳時就沒人懷疑這個猜測,第二個讓人看到了重點是自由且開放,免除目前大部分 mobile 平台的授權問題。但所謂的平台,最底層的 os 並不必然會影響成功與否,很多人都覺得能不能吸引開發者是個重要的因素,而這點並不容易做到。像 wince 就是以提供和 desktop 非常相似的開發環境,幾乎各種 desktop 上的技術都可以在 wince 上使用。而 iPhone 似乎是以 browser base 來的方式來進行開發。而 Google Android 是把眼光投向了 Java,要用 Java 提供中介層給一般應用程式開發者。
但一般來說 Java 在 mobile 上的版本是 JME,而雖然 JDK 已 GPL 了,但不包含 JME 的部分,這讓 Google 的企圖不可行。而 Google 的做法,就是不用 JME 版本,而開發自己的 VM: Dalvik,並可以由 java bytecode 轉至 Dalvik 的 .dex 。Google 用這個方式避開 JME 的問題,並將這個平台用Apache Licnese 開放出來。一來 Google 馬上就得到了全世界超多的 Java 開發者的資源,二來這個做法也立刻打擊了 JME 的市場,本來嘛,Android 剛出來就有相當不錯架構,底層也提供十分強大的支援 (OpenGL, Webkit, Location, XMPP 等等),本來嘛,能做神仙誰要做畜牲,能有開放又強大的東西誰要去搞那個受限又難用的 JME 呢。
不過啊,還是要等第一支 Android 手機出來才能做得準啦,不過大家已經可以開始做夢了。
Androidology, A series of educational videos on the Android platform
Dalvik: how Google routed around Sun's IP-based licensing restrictions on Java ME
Google Android平台先打到的是Java而非Linux?
Google手機平台背後的原創者
Android的虚拟机Dalvik引来论战不断
Monday, November 12, 2007
孫大炮和老爸生日快樂
Labels:
life
今天是孫大炮的生日。
昨天是我爸的生日。
有趣的是,這不是巧合。
我爸早就忘了生日是什麼時候了,只記得是在冬天的時候出生的。其實以前在大陸的時候還是記得,只是後來時局動亂,根本也不會有人管生日這檔子事,本來還以為在軍隊裡還有資料,後來來台灣後,軍隊的人事資料都沒跟著過來。來台灣後他一度憑印象就把 11 月 12 號當生日,但後來在重新登記戶籍時,突然發現怎麼可以和國父同一天生日呢,他就把生日提早一天,變 11 月 11 號了。
身處戰亂的時代,每個人都有自己的悲哀,不論是本省人還是外省人。
請孫大炮來談談他的理想吧,兩岸三地都覺得在講自己的政府呢。 (不過也是唱高調就是了 :))
昨天是我爸的生日。
有趣的是,這不是巧合。
我爸早就忘了生日是什麼時候了,只記得是在冬天的時候出生的。其實以前在大陸的時候還是記得,只是後來時局動亂,根本也不會有人管生日這檔子事,本來還以為在軍隊裡還有資料,後來來台灣後,軍隊的人事資料都沒跟著過來。來台灣後他一度憑印象就把 11 月 12 號當生日,但後來在重新登記戶籍時,突然發現怎麼可以和國父同一天生日呢,他就把生日提早一天,變 11 月 11 號了。
身處戰亂的時代,每個人都有自己的悲哀,不論是本省人還是外省人。
請孫大炮來談談他的理想吧,兩岸三地都覺得在講自己的政府呢。 (不過也是唱高調就是了 :))