仿 flexstore 網站

感謝yaya提供這個網站。(btw, 順便謝謝幫我測試原來右下角的留言版真的可以用 :D)
這是一個法國公司(一人?)做的仿 flexstore EC solution, 純手工用flash 硬拼出來。
晚上花了點時間玩了demo site順便看了一下程式碼,是用as1 + flash remoting v1 + amfphp完成的。
整個程式架構基本上是恐怖的spaghetti code,一堆的function分散在不同層次的movieclip,然後有大量的 onClipEvent()去觸發不同層級的事件。
另外主UI 上的三大塊panel也是用movieclip畫好3個keyframe擺上去的,這代表它絕不可能像flexstore裏的window元件可真正放大/縮小,而只能透過 onPress去觸發 gotoAndStop()變換到不同大小。
總之,整個程式架構跟寫法就跟自殺並無二致,恐怕再過三個月連當初寫的工程師都不認得裏面在做什麼,更別提將來其它人要接手維護或擴充功能時會面臨的挑戰。
(這也就是市場上為何總是有公司在找「維護合約」的廠商,而大部份有sense的廠商也都不願碰這種半路殺出的案子,因為誰也不願接手幫人家收拾善後,去修改一堆亂到不行的程式碼最後搞的自已也深陷泥沼動彈不得)
當然這並不是說不用物件導向或as2或Pattern/CBD寫程式就一定該死,國外也有不少高人寫的一手漂亮的as1(例如 flashmyadmin的darren就是近乎神人的例子),重點是在於系統設計與架構的高明與否,以及寫程式的人本身對功能、責任區分的概念(例如MVC的每一塊意義與彼此溝通的方式)是否夠清楚,簡單一句話就是程式設計師的功力與觀念,決定了他能創作的境界高低。
這也正好呼應了joel 之前的說法,花貴的錢請最好的工程師,換來的收穫絕對比請一群二流的工程師高許多,因為 they can never hit the high note, they just don’t have it.
舉一個簡單的實例。
有位朋友,姑且稱作X桑,剛回台灣工作,幫某大銀行做data mining;他的任務就是從該金控龐大的資料庫中撈出可再撥一層皮的肥羊,呃,我是說可供幾百個業務電話行銷的尊貴客戶,而有趣也是令人驚訝的地方在於,該公司的資料庫中,光日期一欄,就可以撈出千百種不同的格式,例如以 民國 93 年 1 月1 日為例,裏面有的格式就包含:
-0930101
-930101
-20040101
-九三0101
因此,到最後這位有為青年X桑主要的工作就是用sql function把這幾十種不同的日期格式統一換回西元日期(有興趣可以用MS SQL試試看這件事)
其它諸如此類不可思議的東西還有千百種。例如某卷商資料庫中,居然可以撈出下單日期比開戶日期早的資料(請問單子要下到那個戶頭去?)
但這是一家全國幾萬名從業員的大金控,裏面的資訊部門恐怕比大部份中小型資訊公司總人數都多,為何還會出現這種幾近可笑的錯誤?
答案很簡單。二萬八。
這是一個大學畢業剛進去寫程式的人起薪,而天兵日期格式可能就是在某年七、八月畢業季新人到職後寫下去的,一套系統經過幾年新人的反覆折騰,就成為今天這個樣子,終於有一天它會龐大到完全無法修改與維護,然後就是爆炸的時刻,接下來104上面就會出現一個「金融系統維護合約」….
我相信joel會提出「高等人才無價論」必然也是親眼看過二流工程師幹的好事與結果,才會有感而發~
這實在值得業主、資訊公司老闆跟工程師深思啊~


1 Comment Add your own
1. 小布&hellip | August 30th, 2005 at 6:11 pm
做為一個設計師,看完它,我只覺得要模仿FlexStore也要換個皮阿!!雖然操作邏輯等等大同小異,但不以為然的是連外觀都一樣,然後就開始做個網站宣傳賣錢,唉….沒有設計師的尊嚴!
Trackback this post | Subscribe to the comments via RSS Feed