《大道至簡 軟體工程實踐者的思想》讀後感

2022-04-10 10:39:11 字數 3746 閱讀 1251

「 大道至簡」源自老子的道家思想。道,即道理,理論。大道,即事物的本源,生命的本質。大道至簡的含義就是最有價值的道理其實是最樸素的道理,很重要的道理,其實是很平常的道理。它很簡單,簡單到一兩句話就能說明白。所以這個「大道至簡」可以適用任何行業。世界「雖變化萬端,而理為一貫。」在學習任何東西之前,都要首先了解它的思想。做工程亦如此。周愛民先生的《大道至簡》簡潔明瞭的介紹了程式設計的精義及軟體工程的一些相關的內容。正如他所說:這是一本很容易就知道"做工程其實很簡單,只是大家把它想複雜了"的書。

本書分為了八個章節:

一:程式設計的精義

用愚公移山的寓言,道出程式設計的根本:順序,分支,迴圈。移山這等的工程都可以通過程式設計來簡單實現,這便是程式設計的精義了;接下來又談到會或者不會寫程式的問題,書中寫道:除了先天智障或後天懶惰者,都是可以學會寫程式的。如果知道早上起來天冷先穿衣後洗漱,天熱則反之,就可以開始程式設計了。作為乙個計算機專業的學生,更不可以覺得自己天生不會程式設計了,因為你已經進入了**的世界,又不是先天智力有問題,那  就肯定是會的了。再就是我們剛一接觸**就知道的  程式=演算法+結構  ,程式設計作為一種行為,第一要務把事情分析清楚,再去**實現,書中所言極是:積極地工作和勤於思考都要佔時間。這個公式確實沒有提及**,可以認為根本和**沒關係的,有關係的既是思想;之後討論了語言,學習了一年**,**的魅力可以說是無窮的,給我心裡焦慮的同時也給了我成功的喜悅,這種感覺是相當棒的。而這些程式語言,對於我們只有喜歡和不喜歡的問題,沒有會不會的問題。有人學了c會覺得學c++很難,其實還是乙個心態的問題,書中說道:成天討論這門語言好,或者納悶語言壞的人,甚至是可悲的。所以,還是保持好心態,去學習那些程式語言,去挖掘它的魅力!

二:是懶人造就了方法

兩千年的某一天,閒極無聊的李冰下廚給夫人炒了乙個小菜,他發現壘灶的鵝卵石被燒得爆裂開來,遇水尤甚。從此《史記》上記下「蜀守冰鑿離堆」,另一本書記下了他做這件事的方法「積薪燒之」,在差不多的同一時間,愚公在山北之塞「碎石擊壤」。愚公越發的勤快,也就越沒機會找到更快的方法。提出新的方法,解決的將是影響做事成效的根本問題。正是「懶人」造就了方法,亦即提出新的方法。勤快的愚公創造不了方法,對於解決「一百萬行**寫到乙個檔案裡」查詢乙個函式要按五千次pageup鍵來說,是不可能指望他們寫出「單元檔案」來的。接下來的第三節「你的書桌上是亂的嗎」,我們應該像整理書一般,把學過的知識分類,歸納在腦子裡。現在已經不是面向過程的那種愚公時的時代,總體結構面象物件,關係運用資料結構,並通過演算法實現。那麼你所學來的東西你就知道是做什麼的了,不用想,身為大學生的我們,我們的書都是分類放開的吧!最後介紹的是周愛民先生的關於程式的第一次思考以及因「過程」和「單元」而出現的「工程」。在這給我的想法,我引用第一章的一句話總結:一接到任務就開始coding的程式設計師,通常就是加班最多的程式設計師。「道之為物,惟恍惟惚。」軟體工程的道路上,應該記住定式,運用定式,忘掉定式,創造定式。方法亦如此,我們要不斷摸索,創造自己的方法!勤奮的人堅持不懈,可人精力終歸有限,於是乎懶人造就了方法,解決了影響做事成效的根本問題。 

三:團隊缺乏的不止是管理

這個章節介紹了團隊的特性:主從,監督和責任。接下來打了個很有意思的比喻 做專案=死亡遊戲?(這裡又接觸到了工作後的乙個職位--專案經理)專案的失敗與專案經理的經驗直接相關,但專案做不成就要遞交辭呈,那專案經理可從來不會有的,專案的完成時間可能總是被進度變更所更改,沒有決定對合理的工期,因此專案經理是需要時間來成熟的!管理人員需要做乙個螞蟻洞外的人,而不是循規蹈矩的人。他們的職責是明確分工而不是做伯樂。可以說 這些對於我來說是沒有接觸過的,但讀完這一章,也對以後的工作有了一些了解。接下來作者還講到做ios質量體系的教訓:有了確定的團隊模式,才能尋求相應的管理制度,並且才能把這樣的制度實施在團隊之上。也講到 皮之不存,毛將焉附。道出確定的組織的重要性。接下來還談到乙個團隊制度的問題,也談到管理者自省的重要性及角色。現在身為乙個大一的學生,對團隊的接觸確實很少,讀完這一章,帶來的感受可謂頗深,原來做程式不只有單純的建工程敲**那麼簡單,還要考慮到乙個團隊,以及每個成員的作用及管理,三人成虎,團隊的力量強大,但管理團隊也不是一件輕鬆之事啊!

四:流於形式的溝通

程式語言是程式設計師與計算交流的語言,而不是與客戶交流的語言。這一章節認識了一種新的語言:統一模型語言uml,也知道了有"最簡溝通"的存在,在工作中,每一次與客戶交談需要保障每一次的溝通都是有效的,是有目的性的,要知道,平時生活中那些酒肉應酬並不是最有效的。如果僅僅是流於形式的溝通,那麼可能使專案不斷推翻和延遲。總結一下(還是用作者原話)我們需要在正常人和盲人之間建立一種溝通的方式,既然盲人不能睜開眼睛,那麼你就閉上眼睛好了。後面還說到專案的維護問題,當然啦,一款軟體,乙個作業系統,總有出錯的時候,所以專案的維護是必然存在的,開發者要為「專案維護」這種還不存在的角色留下乙個對話的渠道,保證維護的進度。

五:失敗的過程也是過程

介紹了瀑布模型及其一些變形,說道:做過程不是做工程的精義也不是目的,還拿戲目與專案比較,提出走過場之類的詞語,道出程式設計的目的——實現。實現,才是目的。工程只是一種實現的途徑,也給我們這些初學工程的學生乙個警示:為工程而工程的人,都迷失在專案中了。我們平常大多數人也是這樣吧,為了交作業而趕**,忘記了敲**的目的是什麼了,殊不知越是簡單的東西,越接近於本質。現在學的簡單的敲**做工程是為了以後的大一點工程,實現才是目的。這一章節也擴充套件到了生活中的工作:工程不是做的,是組織的。分工明確,步調一致,共同完成這個專案。

六:從程式設計到工程

開門見山:語言只是工具。和第一章講述的一樣,成天討論這門語言好,或者那門語言壞的人,甚至是可悲的。詳細介紹了 **、方法、過程、工程、組織的關係。過程伴隨工程而出現,解決的是過程中的角色間的關係問題;工程,對目標的描述和成果的檢測;也介紹了作者口中的「牛屎圖」,工程出現的原因——軟體規模不斷增大,團隊及組織的重要性,以及通常人們口中boss的真正含義,最後總結出「上帝之手」——「實現」。這一章也讓我清楚的認識到語言的作用是什麼,如何更好的看待一門語言,以及今後學習過程中的團隊!

七:現實中的軟體工程 

這一章比較貼近生活,講到商場中的變化莫測,大公司手中的算盤,專案經理等等。。。從ibm的選擇來看,很好詮釋了「 把握力量總比創造力量來得經濟」這句話。書中還提到商業因素也推動著軟體工程體系的發展,把軟體工程推到了「它激發展」的狀態上了。工程最核心的那個環節是  程式設計=演算法+結構+方法。當然 這一章講的比較現實化了,對於乙個剛剛步入**海洋的我來說,讀起來有一定的難度,在掌握了一些基本觀點的同時理解上可能就不會太深入,而是片面性的理解,相信在軟體工程這條道路上走得越遠,回過頭來再來讀一遍,又是另一般的理解!

八:是思考還是思想

"此郎亦管中窺豹,時見一斑。"開章點題:工程的整體問題仍舊是實現。本章同時介紹了uml與甲骨文的異同,同時也介紹了乙個我們經常混肴的乙個點;經營者離開發者很遠。因為角色的關注層面不一樣,就如同前面談及的boss,很容易搞錯,經營者也可以對軟體技術一竅不通,因為他是經營者。同時也介紹了實現目標與保障質量的矛盾,還有一些枝節與細節的點,最後講到軟體工程是靈活的。變化或者變通,我們要不時的自我檢查,觸到一些錯誤的地方及時回頭,正是許多人不知道技巧,思考,思想,方法技術原理,因而不知道變通,也不知迴避錯誤。其實是常見之事,程式語言那麼多,哪個簡單用哪個,知律而變,僅此而已。總結出的一句話:死讀書不如會讀書。死讀一本《軟體工程》的人是不會做真正的軟體工程的。思想要存在,但是思考是一直伴隨著我們每乙個程式設計師的,正如,李冰「積薪燒之」。

這本書用非工程的方式重新解析軟體工程現象,全面、細緻而深刻地分析了工程中各個環節的由來、價值及其內在關係。綜合論述開發、工程二者的現狀,例如對程式設計師「工匠思想」的起源進行廣徵博引的分析,也對工程中「敏捷過程」的經驗主義本質進行深至髓質的論證。  「工程其實很簡單,只是大家把它做複雜了。」或許,這就是周愛民先生想闡述給我們的軟體工程的核心思想。對於剛剛步入軟體工程的我們,這本書無疑給我們指明了我們所要做的事,以及可以避免的誤區。工程其實很簡單,不要把它做複雜。讀完這本書,我對以後的程式設計之路有了大致的認識。

初讀《大道至簡 軟體工程實踐者的思想》收錄

初次讀完這本書,思想裡還是作者的思想,不過這本書還是給了我點教訓,一直覺得自己做開發不合適,就現在 看完這本書的時候,我覺得我錯了,不是自己做開發不合適,而是自己的思想一直這樣去想問題,從未放開去拼搏 一次,真正的去做個實在的東西出來,才是最真的。有些文字我並沒有理解,不單單是我收錄的這部分,還有很...

讀《大道至簡 軟體工程實踐者的思想》有感

第一次讀完這本書時,感覺深深地松了一口氣,因為從頭讀到尾讀懂的地方很少,糊里糊塗,沒能進行好好地思考。前幾天,在電腦上找到這本書又讀了一次,再加上課堂上老師的一些講解,才稍微有點懂了。這本書的作者匠心獨運,語言平實易懂,形象生動。向初學者介紹了什麼是程式設計,向愚公式碼農介紹了什麼是方法,向頭重手亂...

讀《大道至簡》 軟體工程實踐者的思想有感

初聞其名,大道至簡 大多人都會覺得這是一本滿腹人生哲理的書籍,作者洋洋灑灑的談論大道理,其實不然,作者以古典文化為引,以作者的所思所想為線,啟蒙了我作為乙個軟體工程初學者的實踐思想。愚公雖愚,卻向我們展示了如何完成乙個看似龐大的工程,那就是一步一步的分而治之,回想自己大一的學習生活,確實遇到過比較繁...