1. 程式人生 > >讀書隨記-《程序員修煉之道-從小工到專家》

讀書隨記-《程序員修煉之道-從小工到專家》

正在 不同 準則 隨記 專家 tail 都是 範圍 沒有

註重實效的程序員有哪些特征

  1. 早期的采納者/快速的改編者
  2. 好奇
  3. 批判的思考著
  4. 有現實感
  5. 多才多藝

第一章 註重實效的哲學

註重實效的程序員能夠越出直接的問題去思考,設法把問題放在更大的語境中,註意更大的圖景。

我的源碼被貓吃了

責任是你主動擔負的東西,你必須基於你的道德準則和判斷來做出承諾。當你出現錯誤時,應該要提出各種解決方案,不要找蹩腳的借口。

軟件的熵

不要留著"破窗戶"(低劣的設計,錯誤決策,或者糟糕的代碼)不修,要采取某種行動防止進一步的損壞。項目的代碼要寫的漂亮-編寫整潔,設計良好,並且很優雅。

石頭湯與煮青蛙

有些情況下,你也許確切的知道需要做什麽,以及怎樣做,整個系統就在你眼前。但請求許可或者資源時,會遇到拖延和漠然。這時先設計出你可以合理要求的東西,好好開發它,完車之後,拿給大家看,並暗示添加新功能的好處,人們更願意參與正在發生的成功,讓他們瞥見未來,就能讓他們聚在你周圍。但同時不要像溫水裏的青蛙一樣,不註意周圍環境的變化。要時刻保持警惕性,留心周圍發生的事情,留心代碼與項目的控制,不要留下“破窗戶”

足夠好的軟件

你可以訓練你自己,編寫出足夠好的軟件--對你的用戶,對未來的維護者,對你自己內心的安寧來說足夠好,你會變得更多產。要讓你的用戶參與權衡,今天的可用的軟件常常比明天的完美軟件更可取,要及早讓用戶使用。他們的反饋常常會把你引向更好的最終解決方案。

你的知識資產

知識上的投資總能得到最好的回報,你的知識和經驗是你最重要的職業財富。定期投資,持續不斷的學習。多元化,你掌握的技術越多,就能更好的進行調整,趕上變化。

每年至少學習一種新語言,可以幫助你拓寬思維,並避免墨守成規。

每季度閱讀一本技術書籍,掌握了正在使用的技術之後,再擴寬範圍。

也要閱讀非技術書籍,軟件或者網站時由人使用的,要多了解他們的需求

持續投入十分重要,一旦你熟悉了某種新語言或者新技術,繼續前進。

批判的思考,最先出現在你眼前的知識不一定是最好的,它也許是付過錢之後放在那裏的。

交流

首先知道你要說什麽,全面的整理自己發言稿。了解你的聽眾,選擇更合適的方式,更合適的時機,更合適的風格傳達你的想法。並讓聽眾參與進來,多傾聽他們的反饋,並及時回復。

WISDOM 離合詩--了解聽眾

What do you want them to learn? 你想讓他們學到什麽?

What is their interest in what you‘ve got to say? 他們對你講的什麽感興趣?

How sophisticated are they? 他們有多富有經驗?

How much detail do they want? 他們想要多少細節?

Whom do you want to own the information? 你想要讓誰擁有這些信息?

How can you motivate them to listen to you? 你如何促使他們聽你說話?

第二章 註重實效的途徑

我們都是在一個時間和資源有限的世界上工作,如果你善於估計出事情要多長時間完成,就能更好的再兩者都匱乏的情況下生存下去。

重復的危害

維護意味著修正bug和增強特性,不管原因是什麽,維護都不是時有時無的活動,而是整個開發過程中的例行事務。當我們進行維護是,必須找到並改變事務的表示,問題是,在我們開發的規範,過程和程序中很容易重復表述知識,這就帶來了維護的噩夢。

系統中的每一項知識都必須具有單一,無歧義,權威的表示

重復是怎樣發生的

強加的重復,開發這覺得他們無可選擇--環境似乎要求重復。

無意的重復,開發者沒有意識到他們在重復信息。

無耐心的重復,開發者偷懶,他們重復,因為那樣似乎更容易。

開發者之間的重復,不同的開發者重復了同樣的信息。

正交性

在計算技術中,該術語用於表示不相依賴性或是解耦性。如果兩個或者更多事物中的一個發生變化,不會影響其他事物,這些事物是正交的。編寫正交系統的好處是提高生產率和減低風險。

讀書隨記-《程序員修煉之道-從小工到專家》