大道至簡讀後感

       閱讀完《大道至簡》我對寫程式有了進一步的理解,首先編程只要學就能學有所得,編程的精義在於順序,循環和分支。
程式=演算法+結構,其中「演算法是對一個程式的邏輯實現的描述,而結構是邏輯 實現所依附的數據實體」,方法,是對既有行為的
歸納總結。 因而實現方法總是最先出現的,而後才有分析和設計方法。其中還有一句話「語言只是一種工具,不要討論語言的好壞」。
人的精力是有限的,文中提到愚公會鑿,而李冰會燒,講述了一個道理當任務量太大的時候可以思考解決問題的「新方法」。
         提出新的「方法」,解決的將是影響做事成效的根本問題。文中還提出了模組的例子:程式碼不能都寫在一個文件里就出現了模組
的概念,將程式的程式碼分開,,一個模組對應於一個單元,從此出現了分工作寫程式碼。還介紹了項目經理的工作,就是要去組織這個
工程中的各個角色, 使得分工明確,步調一致,共同地完成這個項目。
         面向過程開發是CPU提供的,需要考慮「方法」,面向對象因為有「單元」和「過程」可以不在考慮「方法」的完成巨大的工程。
團隊管理方面:做管理起碼需要能承擔責任,這是最基本的素質,比如:「三人團隊中的那個領導,不是要程咬金一樣的牛人, 而是要
李離一樣的死士。項目完成不了,切腦袋的事倒不 必做,遞交辭呈的那點勇氣總是要有的。」客戶與工作人員的對接,需要項目經理用
客戶交流。軟體工程的瀑布模型:瀑布模型將軟體開發的過程分成需求、分析、 設計、開發和測試等 5 個主要階段,其中做工程不是
「走過場」,實現才是目的。需求就是項目經理與客戶之間的交流,分析就是對需求的分析,將將需求模組化,設計的話就是將需求順序
化,最終以實現需求為目的。軟體工程的思考問題:思考問題的方法可以是由點及面的,也可以是統攬全 局的。換成業界最常用的辭彙,
就是「自上而下」還是「自 下而上」的區別。「道」是規律,如果明 「道」,而可以變化無窮,這樣做軟體工程才是活的。做程式之前要「知道原理」,
明白 「為什麼要這樣」或者「為什麼不是那樣」。
        枝節與細節:跳出枝節,細節只有做到何種程度的問題,而不並是關不關注的問題。寫程式要注重問題的分解,將問題模組化,順序化。
寫程式最終要實現需求,而不是「走過場」。《大道至簡》這本是對編程很有幫助的,其中的編程思想,在工程的團隊合作思想講的通俗易懂,
舉的例子也很深刻,總之編程需要不斷的學習,不停的給自己充電,程式=演算法+結構,當下應該積累演算法,豐富自己的知識面,只有這樣才
能在將來有未來,所以要繼續學習,不斷的進步,走出屬於自己的「道」路。
    我過去編程是這樣做的:拿到一個編程題,首先是閱讀需求,理解之後有一個大概的框架,便開始從頭開始編程,寫到哪裡思考到哪裡
這樣的話有時候可以完成需求,有時候寫到一半突然意識到前面有問題,便又要修改前面的,這樣反覆很浪費時間。
 書中提出需求的分析,將需求模組化,也就是說以後可以將問題分解成模組,分解成一個個小問題,逐個解決,這樣就有了頭緒,可以有計劃
的完成編程了。