我們經(jīng)常會聽到這樣一句話——簡單就是美,或者是這句話的各種變體,而且這句話不限于行業(yè),不僅僅是在軟件業(yè),在各種涉及到設(shè)計(jì)藝術(shù)的領(lǐng)域,很多大師級的任務(wù)都會告訴我們,簡單就是美。
在這里我當(dāng)然只想針對軟件開發(fā)相關(guān)的內(nèi)容來談,其實(shí)我們要解決的問題就是——到底要多簡單呢?
對于UI設(shè)計(jì)——不需培訓(xùn)直接能使用
還記得曾經(jīng)看過的基本講述交互設(shè)計(jì)知識的幾本書,其中都提到了,最簡單也是最美的界面設(shè)計(jì),就是用戶直接就明白怎么用,而不需要長期的培訓(xùn),對于這一點(diǎn)我深以為然,并且努力把這一點(diǎn)貫徹到自己所做的系統(tǒng)中。曾經(jīng)記得自己幫朋友寫了一個簡單的庫存管理系統(tǒng),界面上沒有菜單,只有幾個必要的按鈕,采用的是Office 2007的ribbon樣式,并且精心挑選了幾個意義鮮明的圖標(biāo)。朋友使用的時(shí)候,就告訴我,這個東西比他之前用過的財(cái)務(wù)軟件好多了,那個東西培訓(xùn)了兩個月還是不會使用,而且其中有太多用不到的字段,雖然不需要填寫,但是看起來也比較別扭。而我這個東西,當(dāng)時(shí)特意就沒告訴他如何使用,只是說,很簡單,看看就會了。達(dá)到的效果也很讓我自己滿意,真的是看看就會用了,哈哈。
其實(shí)想想成功的產(chǎn)品,比方說最近大賣的ipod、iphone、ipad等一系列蘋果的東西,每一種的設(shè)計(jì)都是超級簡單,沒有過于復(fù)雜的界面和操作,這種美不用我說,已經(jīng)得到了無數(shù)人的認(rèn)可。
復(fù)雜的界面真的非??简?yàn)人,曾經(jīng)見過最復(fù)雜的界面還是出現(xiàn)在對日項(xiàng)目中,同樣最復(fù)雜的報(bào)表也在對日項(xiàng)目中,日本人對于基礎(chǔ)知識的培訓(xùn)和學(xué)習(xí),以及對復(fù)雜情況的耐心和毅力的確值得我們學(xué)習(xí),如果讓我整天面對那樣復(fù)雜的界面,我可能早就崩潰了。(比方說,一個界面上放40個以上的控件,并且填寫一個表單需要滾三屏,都是很可怕的)
我只能說,我是個懶人,不喜歡復(fù)雜的東西,解決問題喜歡用簡單的方法,各種東西的使用我也愿意選擇簡單的。
其實(shí),對于設(shè)計(jì)界面的人來說,或者說叫做交互設(shè)計(jì)師來說,設(shè)計(jì)最簡單的界面,讓用戶能夠盡快地上手使用,并且所有的使用習(xí)慣都與用戶的傳統(tǒng)習(xí)慣相符,本身就是對客戶的一種尊重,另外,在市場上,一個產(chǎn)品是否能夠取得成功,往往界面設(shè)計(jì)的好壞會起到非常重要的作用,因?yàn)楹唵我子玫慕缑妫瑫屓苏嬲惺艿狡渲械拿?,并贏得更多的用戶。
上面我們所說的是最終用戶所要面對的東西,而對于我們這些程序員整天所要面對的代碼,又應(yīng)該如何呢?我覺得代碼的簡單就在于——直接能看懂
我們在工作中,不可避免地會需要維護(hù)別人的代碼,而我們自己編寫的代碼也經(jīng)常會由別人來review和維護(hù),那么代碼的簡單之美就非常重要了。
想要直接看懂代碼,我覺得必不可少的有幾點(diǎn):
簡短——每個方法都應(yīng)該盡可能地短,有人提倡每個方法不超過四行,暫時(shí)我覺得還達(dá)不到那個標(biāo)準(zhǔn),不過我們至少可以達(dá)到的是,每個方法只做一件事。曾經(jīng)見過非??膳碌拇a是有超過五層的if嵌套,而且每個嵌套里面的處理代碼都無法顯示在一屏之內(nèi),我直接就崩潰了,哈哈。
命名準(zhǔn)確——這個應(yīng)該是最有利于在維護(hù)的時(shí)候理解代碼的了。業(yè)界中提倡的自解釋代碼也正是如此,如果變量、方法、類等等的名稱都能夠準(zhǔn)確地表達(dá)出它的意義,那么閱讀代碼就和閱讀說明書一樣,自然所有的工作就都變得簡單了。
恰當(dāng)?shù)淖⑨尅谀承r(shí)候,注釋還是非常必要的,甚至對于自解釋代碼,有時(shí)還是有必要用注釋來說明一下,畢竟其中還有計(jì)算機(jī)語言無法說明的業(yè)務(wù)邏輯在里面。當(dāng)然,注釋不應(yīng)該是越多越好,某些項(xiàng)目中規(guī)定一定要有30%的注釋量,還是有些值得商榷的。
最后想說說關(guān)于數(shù)據(jù)庫的設(shè)計(jì),我覺得這其中也必須應(yīng)該貫徹簡單就是美的原則,我們應(yīng)該達(dá)到的標(biāo)準(zhǔn)是——直接能理解。
好的數(shù)據(jù)庫設(shè)計(jì)對于系統(tǒng)的開發(fā)和維護(hù)都是非常重要的,特別是對于一些MIS、ERP、MRP等管理軟件,數(shù)據(jù)庫的設(shè)計(jì)在系統(tǒng)的架構(gòu)中會起到舉足輕重的作用。
我想應(yīng)該把握下面的幾個原則:
表中字段不要太多——每個表的字段數(shù)應(yīng)該控制在30個之內(nèi)吧,這個標(biāo)準(zhǔn)可能會因項(xiàng)目而異,只是一個基本的概念。想象一下吧,當(dāng)在項(xiàng)目中遇到一個數(shù)據(jù)表的定義中有超過100個字段的時(shí)候,是不是感覺到很難處理呢?我在工作的過程中遇到過多次,這種大而全的表往往就是問題的多發(fā)地段。
名稱合理——有些項(xiàng)目中,為了預(yù)防,往往會使用一些備用字段,或者放一些不一定代表什么意義的字段,它們的的名稱可能就是一個字母帶數(shù)字,比方說a1 a2 a3……這種字段真的是維護(hù)者的噩夢,它們可能在不同的情況下代表不同的意義,那樣我們不僅僅需要一份數(shù)據(jù)庫說明書,還需要針對每個字段在不同情況下的說明書。如果能夠避免這種情況,每個名稱都清晰地代表自身的意義,那么難度就會大大降低。
其實(shí)這里的原則和編碼的原則基本是相通的,畢竟暫時(shí)我還是以程序員的角度來看待這個問題的。
總之,簡單就是美,就是美啊就是美,你是不是也這么認(rèn)為的呢?:)
-
程序員
+關(guān)注
關(guān)注
4文章
953瀏覽量
29830
發(fā)布評論請先 登錄
相關(guān)推薦
評論