1. 程式人生 > >《高效程式設計師的45個習慣--敏捷開發修煉之道》讀後總結

《高效程式設計師的45個習慣--敏捷開發修煉之道》讀後總結

一片論文瘦八斤,瘦下來的東西,希望交換成了知識存在腦袋裡。

論文寫完,離下一個專案的開始還有一週的時間,利用這個時間差,讀完了借來的題目中的書。就像序裡面說的,其實這就是一本關於敏捷的書,只不過說的比較委婉。

剛翻開書的時候,發現裡面確實有很多好的程式設計習慣可以借鑑,讀著讀著,發現這更是一本將團隊高效配合的書。不過我們現在做的東西大多是和導師交流,所以團隊高效合作方面的技巧暫時能用上的還比較少,有什麼體會也沒資格說,不過關於書中的另一個方面,也就是題目中的“習慣”——尤其是程式設計習慣,還是有一些收穫的。這就將書中較好的摘抄下來。

1.對事不對人,敏捷的團隊中排在首位的應該是解決問題

當Lee先生在做一個新方案介紹的時候,下面有人會說:“那樣很蠢!”(這也暗示著Lee先生也很蠢。)如果把這句話推敲一下,也許會好一點:“那樣很蠢,你忘記考慮它要執行緒安全。”事實上最合適並且最有效的表達方式應該是:“謝謝,Lee先生。但是我想知道,如果兩個使用者同時登陸會發生什麼情況?”

看出其中的不同了吧!下面來看一看對一個明顯的錯誤有哪些常見的反應:

1.否定個人能力。

2.指出明顯的缺點,並否認其觀點。

3.詢問你的隊友,並提出你的顧慮。

第三種方法沒有譴責,沒有評判,只是簡單的表達自己的觀點。讓Lee意識到這個問題,而不是讓掃他的面子。由此可以開始一次交談,而不是爭辯。

讓我們驕傲的應該是解決了問題,而不是比較誰出的主意更好

如果你沒有犯過任何錯誤,就說明你可能沒有努力去工作

開發者和質量工程師(QA)爭論某個問題是系統本身的缺陷還是系統增強功能導致的,通常沒有多大的意義。一起如此不如趕緊去修復他。

2.欲速則不達,防微杜漸

Andy(本書作者之一)以前的一個客戶遇到了一個問題。沒有一個開發者或者架構師知道他們業務領域的底層資料模型。而且,通過幾年的積累,程式碼裡有著成千上萬的+1和-1修正。再這樣髒亂的程式碼中新增新功能或者修復bug,就難逃脫髮

的的噩運。

不要急於修復一段沒能真正理解的程式碼。這種+1/-1的病症始於無形,但是很快就會讓程式碼一團糟。要解決真正的問題,不要治標不治本。

孤立的程式設計非常危險,程式碼複審是發現bug最有效的方法之一。

專案中,程式碼應該是很亮堂的,不應該有黑暗死角。

評:表示被導師親自Review的人感觸很深,程式碼亮趟是個藝術活,需要下功夫。

3.跟蹤變化

瞭解最新行情,如飢似渴的閱讀,跟上新技術,學習新技術就不再是大問題,你不需要一口氣爬上10層樓,而需要一直在攀登,所以最後看起來就像只要再上一二層。如果對所有技術都一無所知,想要馬上登上10樓,肯定會讓你喘過氣來! 迭代和增量式的學習。每天計劃用一段時間來學習新技術,當你聽到一些不熟悉的屬於或者短語時,簡要地記錄下來。然後在計劃的時間中深入研究它。 你不需要精通所有技術,但需要清楚知道行業的動向,從而規劃你的專案和職業生涯。 評:我們有個老師,感覺很多技術他都知道,都會用,估計就是這種增量學習的成果吧。

4.打破砂鍋問到底

不停的文為什麼。不能只滿足於別人告訴你的表面現象。要不停地提問知道你明白問題的根源。

5.保持簡單

“簡單性”這個詞彙被人們大大誤解了。他並不是以為著簡陋、業餘或者能力不足。恰恰相反,相比一個過分複雜、拙劣的解決放啊,簡單的方案通常更難獲得。 怎樣才算優雅?優雅的程式碼第一眼看上去,就知道它的用處,而且很簡潔。但是這樣的解決方案不是那麼容易就想出來的。這就是說,優雅是易於理解和便是的,但是要想創建出來就困難多了。 開發可以工作的、最簡單的解決方案。除非有不可辯駁的原因,否則不要使用設計模式、原則和高難度技術之類的東西。 當你覺得所編寫的程式碼中沒有一行是多餘的,並且仍能交付全部的功能時,這種感覺就對了。這樣的程式碼容易理解和改正。 評:個人感覺這一條和奧坎姆剃刀有著很相近的意思。尤其是程式碼中,簡潔,優美,反倒是出問題的機率較少,維護容易。

6.記錄問題解決日誌

面對問題(並解決掉)是開發人員的一種生活方式。通過web尋找答案是個好方法,但是是非常耗時間的過程。有時可以找到需要的答案,有時除了找到一大堆意見和建議之外,發現不了實質性的解決方案。看到有多少人員遇到同樣的問題,也許會感覺不錯,但是我們需要的是一個解決方案。想得到更好的效果,不妨維護一個儲存曾經遇到過的問題以及解決方案的日誌。這樣當問題放生是,就不必說:”嘿,我曾碰到過這個問題,但是不記得是怎麼解決的了。“可以快速搜尋以前用過的方法。工程師們已經使用這種方式很多年了,他們稱之為每日日誌(daylog)。下面的條目可能會用得上:
1.問題發生的日期 2.問題簡述 3.解決方案詳細描述 4.引用文章或網址,以提供更多細節或相關資訊。 5.任何程式碼片段、設定或對話方塊的截圖,只要他們是解決方案的一部分,或者可以幫助更深入地理解相關細節。

要將日誌儲存為可供計算機搜尋的格式,就可以進行相關字搜尋的格式,就可以進行關鍵字搜尋以快速查詢細節了。(怎麼做到?javadoc?

這個檔案還可以建立一個Wiki,大家一起來維護。

總結

以上就是書中的內容,大多是原話摘抄,小部分是筆(鍵)者(人)的評論。

讀完了之後,常駐於心的就是:敏捷就是要解決問題,而不是指責別人。抱著這樣的話,就有理由相信別人也是這樣想的,竟然就提高了自己的交流效率。

相關推薦

高效程式設計師45習慣--敏捷開發修煉》讀書總結

記憶深刻的一句話:當我們決定做一件事情的時候,首先就要多問問自己:為什麼要做這件事情?它所帶來的好處是什麼?如果不做它又會有哪些壞處?有了清晰的目的和思路再去做事,遇到變化時就知道孰輕孰重,該怎麼調整計劃,同時也不至於被重複和乏味消磨了一時的意氣。  書本的章節 敏捷

高效程式設計師45習慣--敏捷開發修煉總結

一片論文瘦八斤,瘦下來的東西,希望交換成了知識存在腦袋裡。 論文寫完,離下一個專案的開始還有一週的時間,利用這個時間差,讀完了借來的題目中的書。就像序裡面說的,其實這就是一本關於敏捷的書,只不過說的比較委婉。 剛翻開書的時候,發現裡面確實有很多好的程式設計習慣可以借鑑,讀著

讀書筆記高效程式設計師45習慣----敏捷開發》 摘錄

 讀書筆記之《高效程式設計師的45個習慣----敏捷開發之道》摘錄        此次原創的意思是指這個文章中的內容是由筆者從《高效程式設計師的45個習慣----敏捷開發之道》書中摘錄,而不是別人摘錄的,但是內容並非筆者原創,所摘錄的內容的

<高效程式設計師45習慣敏捷開發修煉>

第1章 敏捷-高效軟體開發之道 第2章 態度決定一切1.做事指責不會修復bug。把矛頭對準問題的解決方法,而不是人。2.欲速則不達不要墜入快速的簡單修復之中。要投入時間和精力保持程式碼的整潔、敞亮。3.對事不對人設定最終期限;逆向思維;設立仲裁人;支援已經做出的決定。4.排除萬難,奮勇前進做正確的事。要誠實

<高效程序員的45習慣敏捷開發修煉>

驅動開發 錯誤 其他 提問 產品 目前 主題 告訴 正在 第1章 敏捷-高效軟件開發之道 第2章 態度決定一切1.做事指責不會修復bug。把矛頭對準問題的解決方法,而不是人。2.欲速則不達不要墜入快速的簡單修復之中。要投入時間和精力保持代碼的整潔、敞亮。3.對事不對人設定最

黑馬程式設計師——Java IO流(二)流操作規律總結、File類、Properties類、序列流等

-----------android培訓、java培訓、java學習型技術部落格、期待與您交流!------------ 六、流操作規律總結  1.明確源和目的:   源:    字元流:FileReader(純文字檔案)。    位元組流:FileInputStream(

《編寫高質量程式碼--web前端開發修煉》筆記-CSS

此篇為本筆記的第二篇 標準模式與怪異模式(模擬老式瀏覽器的行為) 如果漏寫了DTD宣告,Firefox仍然會按照標準模式來解析網頁,但在IE中(包括IE6,IE7,IE8)就會觸發怪異模式 IE盒模型的解析 標準模式:網頁元素的寬度有padding,bo

編寫高質量程式碼:Web前端開發修煉(三)

第五章:高質量的Javascript 這章的內容我看的最久,這是跟我js基礎沒打好有著莫大的關係,但是還是耐著性子看完了, 不懂的東西都是百度上搜索,理解後再繼續。下面是記錄下來的筆記。 1)如何避免JS衝突 A:匿名函式 在多人合作一個網站時,每個人都會寫自己的

高效程式設計師45習慣》讀書筆記

《高效程式設計師的45個習慣》這本書的副標題是敏捷開發修煉之道,這是一本講敏捷的書,如果你之前未接觸過敏捷,從這本書,可以瞭解到敏捷的核心觀點。 這裡面主要講了三方面的內容,觀念,溝通,以及編碼。 觀念 我們首先從觀念來看,提觀念當然少不了敏捷宣言: 個體和互動勝過過程和工具; 可工作的軟體勝

[轉載]高效程式設計師的四十五習慣

用作團隊編碼標準很不錯 態度篇1. 做實事不要抱怨,發牢騷,指責他人,找出問題所在,想辦法解決。對問題和錯誤,要勇於承擔。2. 欲速則不達用小聰明、權宜之計解決問題,求快而不顧程式碼質量,會給專案留下要命的死角。3. 對事不對人就事論事,明智、真誠、虛心地討論問題,提出創新方案。4. 排除萬難,奮勇

【連載】優秀程式設計師45 習慣習慣35

對問題各個擊破 ——  高效程式設計師的 45 個習慣之習慣35 “逐行檢查程式碼庫中的程式碼確實很令人恐懼。但是要除錯一個明顯的錯誤,只有去檢視整個系統的程式碼,而且要全部過一遍。畢竟你不知道問題可能發生在什麼地方,這樣做是找到它的唯一方式。”    

【連載】優秀程式設計師45習慣45——及時通報進展與問題

好訊息: 本書今天互動網有貨,噹噹網、卓越網也會陸續有貨。 及時通報進展與問題 —— 高效程式設計師的 45 個習慣之習慣45 “管理層、專案團隊以及業務所有方,都仰仗你來完成任務。如果他們想知道進展狀況,會主動找你要的。還是埋頭繼續做事吧。”    接受一個任務,

優秀程式設計師45習慣書籍簡介

強烈推薦大家將這些打印出來,貼在自己的辦公桌旁邊的牆上,學習實踐。 態度篇 1. 做實事 不要抱怨,發牢騷,指責他人,找出問題所在,想辦法解決。對問題和錯誤,要勇於承擔。 2. 欲速則不達 用小聰明、權宜之計解決問題,求快而不顧程式碼質量,會給專案留下要命的死角。 3.

優秀程式設計師45習慣]

態度篇 1. 做實事 不要抱怨,發牢騷,指責他人,找出問題所在,想辦法解決。對問題和錯誤,要勇於承擔。 2. 欲速則不達 用小聰明、權宜之計解決問題,求快而不顧程式碼質量,會給專案留下要命的死角。 3. 對事不對人 就事論事,明智、真誠、虛心地討論問題,提出創新方案。 4. 排除萬難,奮勇前進 勇氣往往是克

【連載】優秀程式設計師45習慣42——允許大家自己想辦法

允許大家自己想辦法 —— 高效程式設計師的 45 個習慣之習慣42 “你這麼聰明,直接把乾淨利落的解決方案告訴團隊其他人就好了。不用浪費時間告訴他們為什麼這樣做。” “授人以魚,三餐之需;授人以漁,終生之用。”告訴團隊成員解決問題的方法,也要讓他們知道如何解決問題的思路,這也是成

優秀程式設計師45習慣(轉載)

1. 做實事不要抱怨,發牢騷,指責他人,找出問題所在,想辦法解決。對問題和錯誤,要勇於承擔。2. 欲速則不達用小聰明、權宜之計解決問題,求快而不顧程式碼質量,會給專案留下要命的死角。3. 對事不對人就事論事,明智、真誠、虛心地討論問題,提出創新方案。4. 排除萬難,奮勇前進勇

高效程式設計師的10習慣

習慣一:對事不對人 習慣二:跟蹤變化 習慣三:讓設計指導而不是操縱開發 習慣四:提早實現自動化部署 習慣五:度量真實的進度 習慣六:用程式碼溝通 習慣七:編寫內聚的程式碼 習慣八:根據契約進行替換 習慣九:報告所有的異常 習慣十:做程式碼複查

高效程式設計師的10習慣二 跟蹤變化

“軟體技術的變化如此之快,勢不可擋,這是它的本性。繼續用你熟悉的語言做你的老本行吧,你 不可能跟上技術變化的腳步。”  赫拉克利特說過:“唯有變化是永恆的。”歷史已經證明了這句 真理,在當今快速發展的IT時代尤其如此。你從事的是一項充滿激情且不停變化的工作。如果你畢業於

高效程序員的45習慣pdf

body 發布 與他 新的 編碼 style dir 集成 不同 下載地址:網盤下載 作者簡介 · · · · · ·Venkat Subramaniam博士Agile Developer公司創始人,敏捷開發權威人士。他培訓並指導了美國、加拿大、印度和歐洲多國的上千名軟

第三周讀書筆記——《高效程序員的45習慣

反饋 pos 重新 協作工具 能量 筆記 一個 包括 這樣的   培根曾說過:“習慣真正是一種頑強而巨大的力量,它可以主宰人的一生”,威·詹姆斯有言:“習慣是社會的巨大的飛輪和最可貴的維護者。”這無一例外說明了習慣對於個體和整體的重要性。   想成為一名高效的程序員,良