最近在看《人月神話》,分享一下自己的讀書筆記個人的感受。希望能對大家有所幫助。
第一章主要就是講軟體程式設計就是乙個樂趣與苦惱並存的焦油坑。
本書用了乙個很新形象的比喻:大型軟體系統的開發就像是乙個焦油坑(像澡澤一樣可以淹沒各種猛獸),而軟體開發人員就像是被焦油坑淹沒的猛獸。這個比喻很形象的說明了大型軟體系統的開發是乙個及其複雜的事情。
單個問題—–>容易解決、無隱患許多程式設計師都相信這樣乙個神話:就像車庫中的創業者一樣單個的程式設計師通過更高的人均**量,替代乙個產業化的隊伍,做出優秀的產品。多個問題糾纏—–>難解決、無法看清問題的本質
但是乙個能執行的程式和乙個最終的產品完全不是同乙個概念,並且差距很大。
程式(完整、可執行) ———->程式設計系統產品(真正有用的產品)後者至少是前者9倍的成本。
乙個真正有用的產品是乙個通過各種測試的、通用性的、可跨平台執行的、具有規範化介面、可與其他構件整合的程式,並且有完整的文件,任何人根據文件可以執行、測試、修復和擴充套件。
形成乙個最終的產品的成本要大的多。而開發人員更應該將形成真正有用的產品作為開發目標。
本書中列舉了5個樂趣,我自己結合自己的體會總結歸納了一下,主要是以下3個:
(1)成就感主要在於你可以自己可以做出乙個東西並且對別人有幫助,在這個過程中遇到困難並解決。這種成就感我想大家都有所體驗,就好比小時候自己手工製作出乙個玩具一樣,都能高興好幾天。
(2)持續學習的樂趣主要在於在程式設計的過程中有時會需要運用各方面的知識,會迫使你去學以致用,這樣你就會感覺每天都會有所進步,這種感覺也是非常享受的。
(3)第三個樂趣在於程式設計這種工作介質易於駕馭,你可以天馬行空,放開思想去想象並實現它,發現不行,再推倒重來,在某種意義上說就是「重構」的樂趣。
當然,任何事情都有兩面性,有樂趣自然就會有苦惱。但總體上我認為我在其中體會到的樂趣要大於苦惱,所以我本人是非常熱愛程式設計的。
我們先要認識到會有哪些苦惱,這樣在以後遇到這些苦惱時就會坦然面對。
主要有一下幾點:
(1)苦惱來自於細節,因為程式是非常敏感的,一旦有乙個細小的地方不正確,整個程式就不能執行,所以有時一些細節的問題會給你帶來苦惱。
(2)苦惱來自於被動,因為在實際中你都是根據別人定的目標需求來進行程式設計,並且有時候還需要被動的去研究、修改別人不規範的**,這有時會很痛苦。
(3)苦惱來自於bug,尋找瑣碎的bug將不會是一件很有趣的事,往往伴隨著枯燥沉悶的時間和艱苦的勞動,並且尋找最後乙個錯誤比第乙個錯誤將花費更多的時間。
(4)苦惱來自於時效性,因為有時候你開發乙個程式產品,而當你克服各種困難最終完成的時候,已經有其他高效的團隊開發出了更先進的替代品,這樣你開發出來的就過時了,這往往很讓人無奈。
以上就是第一章的內容,以及我個人的理解。總之一句話:真正熱愛程式設計的人從中體會到的樂趣大於苦惱。
人月神話 焦油坑
岸上的船兒,如何海上的燈塔,無法移動。荷蘭諺語 焦油坑的意思說明了即使你足夠強大,也無法擺脫束搏而沉到坑底。it專案也是這樣,不論是開發大型軟體系統還是小型專案,都會遇到諸多複雜的問題和影響因素,專案本身就是乙個足夠複雜的動態系統,沒有最優,只有滿意。專案四要素,人員,組織環境,干係人,外部依賴和約...
人月神話 mobi 人月神話 焦油坑
所有的程式設計人員都是樂觀主義者 在軟體領域,很少能有像 人月神話 一樣具有深遠影響力和暢銷不衰的著作。brooks博士為人們管理複雜專案提供了最具洞察力的見解,既有很多發人深省的觀點,又有大量軟體工程的實踐。以 焦油坑 一章開篇,這一得名於自然界的產物,遠古時代困住了無數的洪荒巨獸。而作為人類歷史...
《人月神話》之1 焦油坑(The Tar Pit)
從很久之前就有仔細閱讀 人月神話 的想法,也嘗試過幾次,卻總是因為各種各樣的原因半途而廢。其中乙個重要的原因就是書中列舉的都是大型專案,我自己卻只參與過一些小不點專案,沒辦法把自己的經歷代入然後進行思考。但是,即使 我相信由於人員的分工,大型程式設計專案碰到的管理問題和小專案區別很大 它們之間仍然有...