本文內(nèi)容為Paul Graham的《黑客與畫家》書中“設(shè)計者的品味”一文讀后感。書中講到好的設(shè)計的特點以及本人的看法如下:
好的設(shè)計是簡單的設(shè)計:這一點和Unix哲學(xué)互通,簡小即是美,在當下軟件系統(tǒng)越來越臃腫,社會關(guān)系也趨向復(fù)雜化,產(chǎn)品的裝飾愈加華麗的情況下,相對的,要發(fā)現(xiàn)其本質(zhì)也越來越難,世界本來應(yīng)該是簡單的,只是人將其復(fù)雜化了吧。書中所說:”當你被迫把東西做的簡單時,你就被迫直接面對真正的問題,當你不能用表面的裝飾交差時,你就不得不做好真正的本質(zhì)部分?!?/p>
好設(shè)計是永不過時的設(shè)計:以滿足客戶和用戶的需求為目標的情況下,設(shè)計者很少再關(guān)心設(shè)計本身應(yīng)該是怎樣的了,然而很多時候,要讓產(chǎn)品的生命力更旺盛,或許書中所說:“如果你不愿別人的答案取代你的答案,你就只好自己做出最佳答案”是一種方式吧,必要時采取“閉門造車,出門合轍”的方式反而是最好的方式了。
好的設(shè)計是解決主要問題的設(shè)計:這點在文學(xué),美術(shù)方面可能不那么適用了,在工程領(lǐng)域就顯得重要很多,而分析問題,直面問題就成了關(guān)鍵;
好的設(shè)計是啟發(fā)性的設(shè)計:這點真是讓人醍醐灌頂,有些羞愧了。就像每個人讀《哈姆雷特》,每個人看《蒙娜麗莎》都會有自己的見解,在軟件業(yè)中,這點就意味著,設(shè)計者應(yīng)該著眼于基本模塊,而用戶可以像搭積木一樣自由組合這些模塊來完成自己想要的功能。相比于積木,電子元器件,還有一些簡單易用的電器,反觀現(xiàn)在的“智能”電器,軟件,真是無話可說。而看現(xiàn)在的計算機用戶,被非自由軟件虐得體無完膚,還覺得理所當然,如果要剝奪人的想象力,以及對自由的向往,像這樣溫水煮青蛙的做法確實不錯;
好設(shè)計通常是有點趣味性的設(shè)計:按照Linus的看法,發(fā)展從生存到責任再到娛樂,當設(shè)計是為了娛樂時,設(shè)計者的積極的心情應(yīng)該會早就這樣的有趣味性的設(shè)計吧;
好的設(shè)計是艱苦的設(shè)計:對比以前計算機硬件落后時的軟件設(shè)計,和現(xiàn)在四核八核滿大街的情況,確實如此吧,聯(lián)想到鳥兒能飛是舍棄了身上多余的部分來減輕重量,進而獲得這種本領(lǐng)以及獨特的姿態(tài);
好的設(shè)計是對稱的設(shè)計:這一點感覺也不是那么絕對的,而書中所說的對稱其實也包括了鏡像對稱和遞歸對稱這種形式,在表達和實用性上會有意想不到的效果呢;
好設(shè)計是模仿大自然的設(shè)計:聯(lián)想到幾千年前的那句“道法自然”,大自然在長期的演化中解決了很多設(shè)計問題吧,冥冥之中早以設(shè)計好了;
好的設(shè)計是一種再設(shè)計:這一點在平時寫代碼時深有體會,開始前心里已經(jīng)有了設(shè)計的想法,但是隨著進度的發(fā)展,過程中有了新的想法,想去實踐發(fā)現(xiàn)與原來的相悖?;蛟S就應(yīng)該在設(shè)計時給未來預(yù)留空間吧;
好的設(shè)計是能夠復(fù)制的設(shè)計:通用性,普遍性說得就是這個意思吧,這里的好是對別人而言(可以方便的復(fù)制并為自己所用),也是相對自己而言(在各種場合去復(fù)制適用);
好的設(shè)計常常是奇特的設(shè)計:這一點在Lisp語言和數(shù)學(xué)中的種種公式中就能看出,不過很少有人能發(fā)現(xiàn)其中的美,或許是假的東西看多了,看不到真實吧;
好的設(shè)計是成批出現(xiàn)的:這點不是非常認同,不過第四、九、十點所說的或許就是原因吧;
好的設(shè)計常常是大膽的設(shè)計:創(chuàng)造性的行為就是要大膽,不為現(xiàn)實所約束。