這本書名聲很大供搀,一些大牛推崇備至甸陌。但是閱讀下來需要相當(dāng)?shù)闹R(shí)背景。我堅(jiān)持閱讀了前六章近哟,有大量看不懂的名詞驮审,且該書內(nèi)容主要偏向于操作系統(tǒng)的開發(fā)(上古時(shí)代操作系統(tǒng)),對個(gè)人的幫助很小吉执,讀完也是很快忘掉的疯淫。不過總的來說還是有些收獲。
- 即使程序員寫什么產(chǎn)品戳玫、功能熙掺,是要受到相當(dāng)?shù)南拗频模蔷幊淌潜旧硪彩怯袆?chuàng)造性的工作量九。要充分享受其中的樂趣适掰。那么作為系統(tǒng)設(shè)計(jì)者颂碧,在描述某個(gè)功能時(shí)荠列,需要知道至少一種實(shí)現(xiàn)方法,但是不應(yīng)該寫在規(guī)范里载城,來剝奪程序員自己決定怎么解決問題的樂趣肌似。設(shè)計(jì)者為什么要知道至少一種實(shí)現(xiàn)方法呢?因?yàn)榭梢员苊馓岢鲱愃朴凇靶枰謾C(jī)殼跟著手機(jī)桌面壁紙換顏色”這種設(shè)計(jì)诉瓦。
- 當(dāng)設(shè)計(jì)者提出的功能實(shí)現(xiàn)川队,在他本人看來很簡單,并且是次要的時(shí)候睬澡。但是遭到了程序員的強(qiáng)烈反對固额,說明這個(gè)功能的實(shí)現(xiàn)難度,需要的工作量一定是超出設(shè)計(jì)者設(shè)想的煞聪。此時(shí)放棄固執(zhí)己見斗躏,是明智的。
- 一個(gè)產(chǎn)品應(yīng)該有設(shè)計(jì)一致性(consistency)昔脯,如果法國的蘭斯大教堂啄糙,經(jīng)歷了8代設(shè)計(jì)師,依然保持了自己一貫設(shè)計(jì)風(fēng)格云稚。在顯示了上帝的榮耀的同時(shí)隧饼,也體現(xiàn)了他拯救沉醉在自我驕傲中的人們的力量。那么一個(gè)軟件產(chǎn)品静陈,設(shè)計(jì)的一致性意味著易用性燕雁,尤其貫徹到底的內(nèi)在邏輯。即便有特別優(yōu)秀的局部設(shè)計(jì),如果跟整體一致性沖突贵白,也應(yīng)該放棄率拒。如果出現(xiàn)太多這樣的優(yōu)秀設(shè)計(jì),那么應(yīng)該考慮重新進(jìn)行整個(gè)設(shè)計(jì)工作禁荒。一致性的保證猬膨,靠減少做決策的人是很有效的,在這里精英獨(dú)裁呛伴,好過民主政治勃痴。
- 最后就是關(guān)于人月神話神話這個(gè)數(shù)名當(dāng)中的人月二字的理解了。編程工作不同于收割水稻热康、送快遞等工作的最大特征是它需要同事之間的大量溝通沛申,并且各分工有緊密的次序關(guān)系。這就意味著一個(gè)人收割一個(gè)農(nóng)場要兩個(gè)月姐军,兩個(gè)人只要一個(gè)月這種計(jì)算方式铁材,在編程工作中行不通。這也是編程工作中項(xiàng)目進(jìn)度難以估量的重要原因奕锌。所以當(dāng)發(fā)現(xiàn)項(xiàng)目進(jìn)度落后時(shí)著觉,加派人手這一自然反應(yīng),也是行不通的惊暴。不僅如此饼丘,還會(huì)降低效率。因?yàn)樾录优傻娜耸质切枰嘤?xùn)的辽话,即使是熟手肄鸽,他也要時(shí)間去了解整個(gè)項(xiàng)目(這點(diǎn)可能在作者描述的操作系統(tǒng)開發(fā)這樣龐大的工程中特別明顯),也需要人去做培訓(xùn)油啤。