《大道至簡--軟體工程實踐者的思想》讀後感
“工程其實很簡單,只是大家把它做複雜了。”或許,這就是作者周愛民想闡述給我們的軟體工程的核心思想。
愚公移山,看似是一個龐大的工程。可既然山不加增,又何苦而不平?正如書中所說,除了先天智障或後天懶惰,任何人都是可以寫程式的。在愚公身上就可以看到程式設計的基礎,順序、分支和迴圈,移山這等的工程都可以通過程式設計來簡單實現,這便是程式設計的精義。
積極工作和勤于思考都要佔時間,只要開發人員把這個程式的演算法設計出來了,把結構描述出來了,那這個程式基本定型,就只剩下勞力活了。勤奮的人堅持不懈,可人精力終歸有限,於是乎懶人造就了方法,提出新的“方法”,解決的將是影響做事成效的根本問題。
我們應該像整理書一般,把學過的知識分類,歸納放在腦子裡。現在已經不是程式導向的那種愚公式的的時代,總體結構物件導向,關係運用資料結構,並通過演算法來實現。對於如今時代的事件驅動和模型驅動自然出現了“方法”。所以,作者就得出了他所認為的理論:程式=演算法+資料+方法。
而當程式放大到工程,無非就是軟體工程的三要素:工具,方法,過程。
1、其實對於我們程式設計師來說,語言只是工具,語言的差別主要在使用範圍上,而並沒有哪個語言好什麼的,還是看是否合適。
2、方法不是某個人或者某個組織創造的,而是實踐到一定程度的成果。經驗來源於回顧,理解,和分析,而不是將要寫的下一行程式碼。方法,是對既有行為的歸納總結。
3、我們做程式設計的,目的就是為了實現,工程不過是實現的一種途徑。我們不能走做完了一個工程的每個過程,卻沒有完成專案的每個實現目標,不能為了工程而工程,迷失在專案中。
團隊需要管理,而這個管理人員,起碼要能擔起責任,還要能合理的預計工期,協調開發者和經營者之間的溝通,需要了解客戶需求並說給開發人員聽,保障和客戶每一次溝通的有效性。有了愚公式的開發人員,加之有制度的管理,這就可以開發了。管理人員需要跟隨開發人員,引導他們,做一個螞蟻洞外的人,而不是洞內循規蹈矩的人。他們的職責是明確分工而不是做伯樂,頻繁的人員排程會影響工程質量和進度。如果僅僅是流於形式的溝通,那麼可能使專案不斷推翻和延遲。這是作者在一個專案成功的因素中,對於團隊和領導的看法。
在我們做工程的時候,實現目標和保障質量經常會矛盾。我們要不時地自我檢查,觸到一些錯誤的地方,要及時回頭。正是因為許多人不知道技巧,方法和技術的原理,因而不知道變通,也不知迴避錯誤。
或許正如作者所說,死讀一本書,並不能學會軟體工程。所以他在告訴我們道理——大道至簡,需要思考和領會工程的道理。“道之為物,惟恍惟惚”書的最後用了這麼一句話,來告訴我們,軟體工程的路上,應該記住定式,運用定式,忘掉定式,創造定式。就像我們高考時的題海戰術,固定的去記住題型的做題方向,和模式步驟,卻不是真正學成了自己的東西。方法也是如此,我們需要不斷摸索,創造自己的方法。
對於剛入門軟體工程的我們,這本書無疑給我們指明瞭我們所要做的事情,也讓我們可以避免掉不必要的誤區。
工程其實很簡單,不要把它做複雜。