《高效程式設計師45個習慣》 敏捷開發有感

2021-06-25 20:05:00 字數 3495 閱讀 1737

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

「standing on shoulders of giants」 –「站在巨人的肩膀上」

2023年9

月20日星期六

h該書一共用了兩天時間通讀完,簡單的翻看其中的道理,把其中有用的好的道理和哲理摘錄和用自己的話說出來,引以為用。希望對看過該文的人有所幫助。

在寫該書有關內容之前,我一直認為,看書是一種能夠幫助人提公升境界和閱歷的最好方式之一。它不是直接的在教給你武功,更多的是在傳授給你內功心法。金庸武俠裡,天下武功極高的前輩不是那些招式很硬氣的江湖大佬,而是內功高深之士。練武者,如果僅僅是練習一招一式,也僅僅是做乙個武痴,而如果能夠對內功有一定的造詣,往往能悟出其中的道理。

1、不管路走了多遠,錯了就要重新返回。

這句話相信做過軟體開發的人都有感觸。**已經寫了幾百行或者幾千行,突然程式在往下寫就會出現重大的bug,怎麼除錯都有問題。堅持了半天沒有解決,堅持了一天沒有解決,堅持了三天還是沒有解決,這時你就慌了,心想,媽的,這讓哥如何是好?!重新設計架構和打碼,不忍心,不重頭開始吧問題又得不到解決。這種情況是開發者常見的情況,也是比較鬱悶的時候,我就多次遇到過這種情況。比如我本科畢設做的控制板卡,畫的一塊pcb電路板,第一遍一共飛了4根線,湊湊合合算是畫完了,以為就這樣吧,四根線在外面連吧,無所謂的,拿給指導老師(霍老師)看,就是不行,很多問題,我現在依然記得這些問題是什麼(雖然不畫板子很久很久了),比如液晶的固定孔尺寸大小不對,電源電路濾波電容放的位置不對,不符合電容擺放的幾個原則,電源線和底線沒有加粗,走線不好,要交叉,減少走線長度等等,說了一些問題後回來重新畫,第二遍拿過去以為可以了,但還是不行,就這樣來來回回一共畫了15遍,最後的效果,按我的老師話講,還可以更好,那塊板子我認為已經非常好了,沒有飛一根線,所以你就知道其中花費的精力了。

前段時間做基於linux環境下的c的開發,也是遇到同樣的問題,**已經寫了5、6百行了,編譯執行就出現錯誤了,讓我很是不解,最後還是經過除錯發現了指標偏移出了問題,通過修改偏移量,才算解決了問題。避免了一場精神浩劫。

所以遇到這種情況,肯定前面的基礎沒有鋪墊好,如果對後面的架構產生嚴重的影響,需要重新返工。

2、成為指導者

我們有時會發現自己在某些方面,比其他團隊成員知道的更多,那要怎麼對待這種新發現的「權威地位」呢,可以分享自己的知識,讓身邊的人變得更好。

好的想法不會因為被許多人了解而削弱,當我聽到你的主意時,我得到了知識,你的主意也還是很棒。同樣的道理,如果你用你的蠟燭點燃我的,我在得到光明的同時,也沒有讓你的周圍更暗。好主意就像火,可以引領這個世界,同時不削弱自己。

與團隊其他人一起共事是很好的學習機會。知識有一些很獨特的屬性。假設你給別人錢的話,最後你的錢會變少,而他們的財富會變多。但如果是去教育別人,那雙方都可以獲得更多的知識。

通過詳細的解釋自己知道的東西,可以使自己的理解更深入。當別人提出問題時,也可以發現不同的角度。也許可以發現一些新技巧----聽到乙個聲音這樣告訴自己:「我以前還沒有這樣思考過這個問題」。

與別人共事,激勵他們變得更出色,同時可以提公升團隊的整體實力。遇到無法回答的問題時,說明這個領域的知識還不夠完善,需要在這方面加強。

成為指導者---意味著要分享,而不是固守自己的知識,經驗和體會。意味著要對別人的所學和工作感興趣,同時願意為團隊增加價值。一切為了提高隊友和你的能力和水平,而不是為了毀掉團隊。

---knowlodgegrows when given.

3、架構師必須要寫**

「只有一張蔬菜圖無法做出好的咖哩飯」.

現在it行業最頂級的人就是架構師了,他是一座燈塔,指引著一切行動。然後架構師不可以只會紙上談兵。必要的時候,也要能夠加入團隊,參與**實現過程。這裡我覺得更多的是乙個團隊負責人所起的作用。負責人要做的工作除了安排整個專案進度和每個人的分工,更重要的一點就是把握專案的進度和明確每個人的任務是什麼。如果說乙個專案主要是由團隊的工程師來完成的話,那麼負責人的身份首先應該是乙個工程師。站在工程師的角度,要能夠放到水裡會游,放到路上就跑,有這樣說幹就幹的能力和魄力。那就是要對整個專案的架構和思路有所了解和掌握。知道怎麼去實施怎麼寫**,這是非常重要的。負責人首先要是工程師。

4、增量式程式設計

不要把敲**比作長途旅行。時時測試下自己的程式,保證沒有問題。

5、不要用注釋包裹你的**

嘗試用**溝通。

終於又回到了程式設計這個問題,曾經有個大三的本科生說我寫的**很爛,這是大概的意識。對此,我沒有理由。主要乙個問題就是變數名,所以說不要企圖用注釋來解釋你的**,**本本身就是最好的注釋。

6、迭代式開發

迭代式開發是專案開發中的乙個術語。意思就是當開發自己的程式時,要時時的除錯和測試自己的模組是否是健康的、健壯性良好的、安全的**。現在很多人都會寫一兩行**,但嚴格意義來說,會寫**不意味就能夠成為乙個良好的程式設計師。你要捫心自問,自己的**是否是健壯性良好的,安全的,可測試的**。這是成為一名合格程式設計師的關鍵。

7、寫能夠具有反饋的**

如何做到讓自己的**具有良好的測試性呢?

書上大致意思是:寫具有反饋的**

比如我寫如下的**:

int main()

;

file *fp =fopen(「1」,」r」);

if(fp == null)

rep= fwrite(writebuff,sizeof(char),10,fp);

if(rep< 0)

printf(「write %d bytes\n」,rep);

return 0;

}

rep就是乙個反饋值,用來檢測函式的返回

8、需求就像是流動著的油墨

所以我們在做開發的時候,一定要把所有的api留有一定的餘地,不要全部做死,就好像我們說話辦事不要那麼的絕,給別人也給自己留個台階

9、學會投資

這句話的意思和前面的差不多,就是要學會與人分享,不要把學到的知識固步自封,知識是沒有任何價值的,今年的知識明年可能就陳舊了,學會利用知識才是最重要的。

10、態度決定一切

這句話我看過多次了,希望自己的努力能夠有所收穫。

高效程式設計師的45個習慣 敏捷開發修煉之道

高效程式設計師的45個習慣 敏捷開發修煉之道 融知識 哲理 實踐於一體的奇書 定價 35.00 會員價 26.25 75折 樣章免費試讀 17 使用短迭代,增量發布 69 18 固定的 就意味著背叛承諾 73 第5章 敏捷反饋 76 19 守護天使 78 20 先用它再實現它 82 21 不同環境,...

高效程式設計師的45個習慣 敏捷開發修煉之道

筆者 寫道 在去年就在豆瓣上看到這本不錯的書,近來才拿到這本書好好的研讀一下。讀了之後又對本書有了更深的認識。我如此推崇她,因為我覺得她不像有些書那樣的長篇大論,講的都是大道理,看了雲裡霧裡的。而這本書呢,講的都是我們專案開發中實實在在遇到的,只是平時不太注意,作者只是用更樸素易懂的語言組織總結出來...

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

敏捷開發入門經典 內容 高效程式設計師的45個習慣 敏捷開發修煉之道 修訂版 總結並生動地闡述了成為高效的開發人員所需具備的45個習慣 思想觀念和方法,涵蓋了軟體開發程序 程式設計和除錯工作 開發者態度 專案和團隊管理以及持續學習等幾方面。高效程式設計師的45個習慣 敏捷開發修煉之道 修訂版 適合所...