Wednesday, December 17, 2008

工程師的創世紀

當軟體工程師久了慢慢的也接觸過不少專案,有一些專案是從頭開始的,通常一個從頭開始的專案會不會成功,一開始就看得出端倪。

或許現在視覺化的工具太多,因此很多工程師都每天忙著畫使用者介面,當然一個程式要有互動性,使用者介面是很重要的,但~~它該是一個專案的創世紀篇嗎?不少時候專案領導者在開始新專案的時候,都是要求『我畫面上要有三個按鈕』、『這裡的圖如果會跳動一定很炫』、『這個字型應該用美麗一點的』...等等。發現了嗎,一個專案由視覺開始,這~~不好嗎?

我相信一個程式他的使用者介面是一個小小的部份,通常那只是展現的問題,所以每次當面試的時候有人問說『那個OOXX的library你有多熟』,恩~~我都會回答,可以上網查跟看書就很熟,不行~~就不熟。其實大多數的圖形介面library都做的很容易上手,當然你要給它弄的不像原來library的呈現就要花功夫,但~~那也是你自找的。

用使用者介面當成思考的起點通常有一個大麻煩,就是實際內部運作的程式碼常常會跟圖形library綁在一起怎麼也切不開,當然如果你對一個GUI library至死不渝,那我沒有意見,但如果要你換一個GUI~~你會不會想哭。很多Open Source的程式都可以有不同GUI的支援,因為他們通常把程式運算與程式呈現分的很清楚,這樣容易讓自己的程式那多樣化的作業系統(如linux)執行無誤。會這樣設計的程式,我相信一開始不會用使用者介面當成思考的起點,因為~~那不重要,重要的是這程式要完成哪一種任務。

商用產品通常用介面著手,因為商業人士了解到外觀是觸動你『想要』的重要因素,但滿足你『需要』的要素卻是內部的功能,因此站在一個業務的立場,當然希望外觀越美越好,但~~從工程的角度出發,是否該從程式架構與功能需求著手呢?

我當然不是說美麗的UI不重要,但應該仔細想想的是一個成功的產品一定具有人性化的操作方式(我是說操作方式,不是美麗的圖示),當然也會具有可愛讓人愛不釋手的介面,但營造這個可愛的介面前應該由程式的行為著手思考,有了行為~~再去分配外觀。

多年了我還是不習慣台灣很多軟體設計都先寫UI,在一個Do-nothing的UI上再去開發程式,這樣的下場通常都是讓程式越來越混亂,不過好像常常都是這樣,或許我們的主管們也必須在看到畫面後才能開始思考功能吧~~~這~~我有點不能理解。

1 comment:

Hiankun said...

沒看到UI就不能思考,大概是因為缺乏足夠的抽象思考能力。

這樣一來會有侷限,真正的架構也可能會想不清楚。

真是辛苦開發的工程師阿...