《人月神话》阅读体会(二)
?????? 讀完了5-11章,收獲頗豐,現(xiàn)在想分享一下自己的心得體會(huì)和一些要領(lǐng)。
?????? 作者提到有一種普遍的傾向是過分地設(shè)計(jì)第二個(gè)系統(tǒng),向系統(tǒng)添加很多修飾功能和想法,所以第二個(gè)系統(tǒng)是設(shè)計(jì)師們所設(shè)計(jì)的最危險(xiǎn)的系統(tǒng)。想到作者舉的兩個(gè)例子,一個(gè)是被嵌入到 7090 的 IBM 709 系統(tǒng),709 是對(duì)非常成功和簡(jiǎn)潔的 704 系統(tǒng)進(jìn)行升級(jí)的二次開發(fā)項(xiàng)目。709 的操作集合雖然被設(shè)計(jì)得如此豐富和充沛,但卻只有一半操作被常規(guī)使用。Stretch 計(jì)算機(jī)的結(jié)構(gòu)雖極富有創(chuàng)造性,極端復(fù)雜,非常高效。但不知為什么,同時(shí)也感覺到粗糙、浪費(fèi)、不優(yōu)雅,以及讓人覺得必定存在某種更好的方法可以代替他。這些都是過分開發(fā)第二個(gè)系統(tǒng)帶來的畫蛇添足所引起的后果。就像是我自己的編程,通常第一次編得時(shí)候我會(huì)盡量的想讓他簡(jiǎn)潔一點(diǎn),避免出錯(cuò)。第二次再去豐富他。可是這個(gè)時(shí)候我經(jīng)常會(huì)去糾結(jié)一些特別小的細(xì)節(jié),或者總會(huì)不經(jīng)意地再加一堆小東西,結(jié)果原本能運(yùn)行的程序反而崩了,而且程序反倒變得很混亂,貌似很復(fù)雜的樣子,但是根本找不到重點(diǎn)在哪兒,偏離了問題本身。作者提出了一些避免畫蛇添足的方法,我覺得有一些對(duì)現(xiàn)在的我來說也是很實(shí)用的,雖然無法跳過二次系統(tǒng)。但可以有意識(shí)關(guān)注那些系統(tǒng)的特殊危險(xiǎn),運(yùn)用特別的自我約束準(zhǔn)則,來避免那些功能上的修飾;根據(jù)系統(tǒng)基本理念及目的變更,舍棄一些功能,時(shí)刻保持對(duì)特殊誘惑的警覺,不斷提出正確的問題,確保原則上的概念和目標(biāo)在詳細(xì)設(shè)計(jì)中得到完整的體現(xiàn)。
?????? "因?yàn)樽笫植恢烙沂衷谧鍪裁?#xff0c;從而進(jìn)度災(zāi)難、功能的不合理和系統(tǒng)缺陷紛紛出現(xiàn)”。巴比倫塔的管理教訓(xùn)令人印象深刻,,為什么項(xiàng)目還會(huì)失敗呢?他們還缺乏些什么?兩個(gè)方面——交流,以及交流的結(jié)果——組織。他們無法相互交談,從而無法合作。當(dāng)合作無法進(jìn)行時(shí),工作陷入了停頓。交流的缺乏導(dǎo)致了爭(zhēng)辯、沮喪和群體猜忌。很快,部落開始分裂——大家選擇了孤立,而不是互相爭(zhēng)吵。建立怎樣的組織架構(gòu)是項(xiàng)目成功的關(guān)鍵。而組織架構(gòu)的成功建立離不開交流。團(tuán)隊(duì)?wèi)?yīng)該以盡可能多的方式進(jìn)行相互之間的交流。非正式、常規(guī)項(xiàng)目會(huì)議,會(huì)上進(jìn)行簡(jiǎn)要的技術(shù)陳述、共享的正式項(xiàng)目工作手冊(cè)。舉行常規(guī)項(xiàng)目會(huì)議,會(huì)議中,團(tuán)隊(duì)一個(gè)接一個(gè)地進(jìn)行簡(jiǎn)要的技術(shù)陳述。這種方式非常有用,能澄清成百上千的細(xì)小誤解。一定要記住交流和交流的結(jié)果組織是成功的關(guān)鍵。如果想做出好的作品,一定要學(xué)會(huì)與優(yōu)秀的人溝通交流,不斷發(fā)現(xiàn)bug,不斷彌補(bǔ)完善自己。
????? 做好文檔工作很重要。書面記錄決策是必要的。只有記錄下來,分歧才會(huì)明朗,矛盾才會(huì)突出。每個(gè)文檔可以作為檢查列表或者數(shù)據(jù)庫。及時(shí)得做好文檔記錄,可以幫助我們都向著相同的方向前進(jìn)。文檔使各項(xiàng)計(jì)劃和決策在整個(gè)團(tuán)隊(duì)范圍內(nèi)得到交流。只有書面計(jì)劃是精確和可以溝通的。通過遵循文檔開展工作能幫助我們清晰和快速地設(shè)定自己的方向。以前經(jīng)常不理解老師為什么經(jīng)常要我們寫程序分析總結(jié)。現(xiàn)在想想通過文字記錄可以幫助我去找到自己的不足點(diǎn),從而確定努力的方向。而且我還可以通過對(duì)這些總結(jié)周期性的回顧,知道哪些需要重點(diǎn)進(jìn)行更改和調(diào)整,不斷完善程序。
?????? 唯一不變的就是變化本身。目標(biāo)上的一些變化無可避免,事先為它們做準(zhǔn)備總比假設(shè)它們不會(huì)出現(xiàn)要好得多。不但目標(biāo)上的變化不可避免,而且設(shè)計(jì)策略和技術(shù)上的變化也不可避免。拋棄原型概念
本身就是對(duì)事實(shí)的接受——隨著學(xué)習(xí)的過程更改設(shè)計(jì)。未雨綢繆很重要。我們?cè)谄匠5木幊讨幸彩?#xff0c;要在提交自己的作品之前,先預(yù)想一下它可能會(huì)出現(xiàn)的錯(cuò)誤,比如程序丟了怎么辦,這就需要我們提前做好備份。變化是不可避免,隨時(shí)有可能會(huì)發(fā)生的,我們唯一能做的就是未雨綢繆,提前做好萬全的準(zhǔn)備。
?????? emmmmm大概就是這些。
?
轉(zhuǎn)載于:https://www.cnblogs.com/zzstdruan1707-4/p/10360338.html
總結(jié)
以上是生活随笔為你收集整理的《人月神话》阅读体会(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 每日涉猎技术点存档(2019年02月)
- 下一篇: Codeforces.1110E.Mag