設計模式奏鳴曲(九):軟體設計者的自身修養

設計模式奏鳴曲(九):軟體設計者的自身修養

來自專欄業餘程序員的個人修養13 人贊了文章

1. 用戶

房間里的大象(elephant in the room)是一個英語熟語,

用來隱喻某件雖然明顯卻被集體視而不見、不做討論的事情或者叫風險,

抑或是一種不敢反抗爭辯某些明顯的問題的集體迷思

在軟體設計領域有哪些集體迷思呢?

我想其中之一應該是,

人們會經常性的忽視軟體方案的使用成本。

大多數軟體開發人員,賣的是開發軟體這項服務,

所以,通常我們不是在為自己解決問題,而是為用戶。

可是,一旦我們自己不使用它,就不知道多麼難用了。

我們一定見識過那些體驗較差的軟體,

深知研究正確的使用方式,是一件令人沮喪的事情,

簡直是在浪費生命。

不幸的是,我們的用戶也這麼認為。

究其根本,是因為人們總是習慣性的認為,

教會用戶如何使用軟體,是別人的事情

而鑽研怎樣把功能實現好,才是工程師分內之事

這樣精益求精的態度值得讚賞。

2. 預期

英國作家威·赫茲里特說,偏見是無知的產物。

人們之所以容易產生偏見,主要原因還是對其他事物不夠了解,

在鎚子眼裡,所有問題都是釘子。

這種拿著方案去匹配可解問題的方法,很容易產生偏見。

在採取行動說服別人接受我們的方案之前,必須問自己一個非常重要的問題。

我們是在解決問題,還是在推行方案?

方案和問題是不同的,問題是目的,方案是手段。

長視者把目的當手段,短視者把手段當目的。

不同的人區分目標和手段的方式,也是不同的,因為每個人的預期不一樣。

所謂問題,就是應有的景象與現狀之間的落差,

所謂解決方案就是填補落差的處方簽。

建立正確的預期,才能解決正確的問題。

在方案上產生衝突的根本原因是,不明白別人的預期。

3. 修身

為了消除偏見,我們就得想盡辦法掌握最先進的文明,

Any sufficiently advanced technology is indistinguishable from magic.

學習那些先進的解決問題的方式。

此外,軟體作品還表現了作者的做事方式。

軟體如何關愛用戶,如何與其他系統交互,如何運營如何發展,

正是作者自身處世方式的寫照。

作者的設計哲學,藉由作品淋漓盡致的體現出來。

古之欲明明德於天下者,先治其國;欲治其國者,先齊其家;欲齊其家者,先修其身;欲修其身者,先正其心;欲正其心者,先誠其意;欲誠其意者,先致其知,致知在格物。物格而後知至,知至而後意誠,意誠而後心正,心正而後身修,身修而後家齊,家齊而後國治,國治而後天下平。

—— 《禮記·大學》

只有自身有修養,才能堅持做正確的事情。

如果你在意誰得到了賞識,你就永遠不能完成任何事。

4. 文化

如果在團隊文化上,不想看到壞事發生,

那麼他們所設計出來的軟體,在遇到異常情況時,就不會報錯。

如果在團隊文化上,過分注重結果而不在乎過程,

那麼突發的未料到的事情,就會多出來很多,

他們設計出來的軟體系統就總會無端的發生故障。

如果在團隊文化上,互相推卸責任人人自危,

那麼與其他系統進行交互時,團隊設計出來的系統也將只求自保。

總之,團隊設計出來的軟體,在整個軟體生態中,

表現出了團隊文化所擁有的那些特徵。

這正是作品表現作者做事方式的另一個例子。

結語

為了設計出一個好的系統,我們得在內心深處樂於助人堅持做正確的事情,

必須學會建立合適的預期,掌握最先進的技術文明

這些精神財富,都會在我們的設計中體現出來。

Your biggest hurdle isnt your opponent, its yourself.

有時候不用過分糾結做事方式,只是品味不同而已。


參考

數學·計算·邏輯

設計心理學

烏合之眾

大癲狂

你的燈亮著嗎

發現問題的思考術

營銷的16個關鍵詞

佈道之道

軟技能:代碼之外的生存指南

Expert C Programming

諮詢的奧秘

克拉克基本定律

房間里的大象

推薦閱讀:

TAG:使用說明 | 自我修養 | 團隊文化 |