读《移山之道》的收获与疑问(阅读作业之刘明篇)
《移山之道》是一本介紹軟件開發方法(MSF)和工具(VSTS)的書,這本書講程序設計的基本原則,講如何在工具的幫助下進行軟件的開發、如何與人合作、如何管理軟件工程,講微軟解決方案及方法論。
最開始我以為這本書只是單純地介紹講解軟件工程的知識,讀了此書才發現是以講故事的形式寫作的。我覺得這樣的方式很有意思,相比于傳統的教科書形式,我更喜歡這樣的形式。
我在讀其他的很多專業書籍時,都覺得光是讀書上的內容是很難透徹理解書上的知識的,只有在實踐中運用到這些知識或是遇到問題時,才能逐漸地吃透那些知識,將對所學內容的生搬硬套化為純熟運用?!兑粕街馈愤@樣的寫作方式顯然讓我這樣初次接觸軟件工程的菜鳥更容易理解。不過,也正如書中作者所說,這本書“太活了”,對我來說,這本書讓我對軟件工程開發的整體流程與細節均有所了解,但作為"查資料時的工具書",卻不太合適。
?
《現代軟件工程講義》是一套理論和實踐相結合的,面向實踐,強調“做中學”,通過豐富的材料講人在軟件工程中的不同角色和作用的一套講義。
這套講義很注重團隊合作以及個人在團隊項目中該如何發揮的問題,講解了進行軟件工程開發的整體流程,并且針對學習的不同階段布置了大量的作業訓練。
我認為這套講義和《移山之道》這本教材相輔相成,配套閱讀效果很好。講義和教材一樣,都很生動、很鮮活,我很喜歡這樣的教學方式,這樣的方式讓我覺得教授知識與接受知識都很自然,而不是枯燥的在翻工具書。
?
下面主要敘述幾個我覺得比較重要的問題。
一、MSF方法論
MSF敏捷開發模式,是一種方法論。
VSTS是一種全面系統的軟件開發工具。
VSTS兼顧了MSF整個開發生命周期中各階段和各方面的緊密聯系將工作項的管理同源碼管理和構建管理整合起來,形成一個功能強大而使用方便的應用環境。其他各種開源工具如CVS和ANT往往都只專注于開發流程中的某一方面,需要人為地在整合上花費精力。
在《白話MSF》那一篇里,開篇果凍問阿超的那段話,確實讓人糾結,有好多句子我完全讀不通,心中發堵。。不過阿超同學的白話解析讓我有種豁然開朗的感覺。書中說到MSF對“大企業才有用處,而且容易被人用來忽悠”。MSF對我們現在所進行的團隊項目幫助大嗎??就像愛因斯坦的相對論和牛頓經典力學的關系一樣。對于我們現在所做的小型項目,遵循MSF的原則是否大材小用,導致過程復雜麻煩沒有必要?
若自己目前所進行的任務是由帶頭人分配的。那么怎樣才能確定自己每天所做的任務是對實現“共同的遠景”有幫助的?若我認為自己所做的事情收益較低,但一時間又沒有更好的辦法,有必要向老板提出來嗎?
MSF提倡自下而上的計劃,每個人有充分的權力估計并決定自己的任務需要多長時間,而不是上級交給的時間,即讓真正做這件事的人按照自己的估計去完成任務。這樣的方式,可能會讓某些對自己不夠自信的成員故意延長自己需要的時間,拖整個團隊的后腿。而且,沒有來自上級的壓力,成員給自己制訂的時間足夠充裕,懶懶散散地完成任務,很難使個人得到磨煉獲得進步。當然我也隱約覺得是我這種思想太落后了,不適應現在的企業發展了。。。
需求的變化可能導致未完成的產品“過時”,不再具有商業價值。面對這種情況,我認為,預防是最好的措施,但我們怎樣才能做好這個預測呢?
二、提高個人技術
我是個基礎不夠扎實的小菜鳥,編程經驗少,對于團隊項目難免有點畏懼心理,為了不給團隊拖后腿,我重點關照了《提高個人技術》這一章。
我也覺得看別人代碼時很難看懂,除非知道這個代碼是要做什么的,這樣還能根據需求推出來代碼中每一部分的作用。對于根據代碼搞明白程序要解決什么問題這種事,簡單的我還能做到,復雜一些的就無能為力了。。更何況也許還有好多著名的算法我都不知道不了解。不過看代碼有什么技巧嗎?難道是看得多了就會看了嗎?
這一章的內容通篇看下來,我發現,并沒有太多的提到編程技巧,甚至是幾乎未出現。而是主要講解了由MSF而來的移山精簡方法論,以及需求分析、性能測試和效能分析。這些是屬于工程的前期和后期工作,書中顯然對這一部分更加注重。
三、代碼復審
代碼復審是要求自己、同伴以及團隊對代碼共同進行審查的,看起來是性能測試與效能分析的正式版與加強版。
既然要求同伴和團隊都對代碼進行審查,那他們自然是要先對代碼進行研究的,然后發散思維對代碼創作者提出很多問題,這個過程中,可能會出現一些代碼創作者原本沒有考慮到的問題,集思廣益嘛,但是也不能保證這些未考慮到的問題都是重要的、必要的,實際上可能大部分問題都是無足輕重的,也許最后得出的結論是解決這個問題的成本遠遠高于所獲得的收益,于是這個問題自然就跳過。
若想要對代碼提出一些確實有必要的、能大幅度提高效率的問題,顯然要對代碼的理解很深,而論到對代碼的了解程度,有誰能比得上寫代碼的人呢。然而,寫代碼的人一開沒有發現的問題,也不是他再對代碼復審幾遍就可以發現的。
代碼復審確實是很有存在的必要,但是我覺得效率不夠高。代碼復審可能經常發現不了什么有意義的問題,直至這個產品在眾多用戶的使用過程中,無意識地發現問題。產品的很多缺陷都是由此才會被發現的。
轉載于:https://www.cnblogs.com/WWW-Buaa/archive/2012/10/31/2748130.html
總結
以上是生活随笔為你收集整理的读《移山之道》的收获与疑问(阅读作业之刘明篇)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EXT 删除 监听
- 下一篇: Web布局连载——两栏固定布局(五)