《構建之法》閱讀筆記

2022-09-24 03:42:08 字數 1063 閱讀 3343

第一部分 關於結對程式設計的體悟與實踐

在結對程式設計這一部分我曾講過很多的注意點,比如**變數命名風格、縮排風格、注釋風格,前後語句次序風格,等等。然而這裡還有一些新的東西。**風格這個老掉牙的話題咱們先擱置不談,而說說在結對程式設計中同樣重要的其他注意點。

step1:「自己改+你說我看」:不符合共同協定的編碼風格的地方,一律修改

我們需要在一開始就商定好**風格,比如哪些地方需要換行,變數的命名規則等等。

然後,先過自己這一關——自己對**進行修改。比如在上面的例子中,函式名為anothermain,這是什麼鬼意思?這種根本不知其所以然的命名,必須**。還有像enternum這樣的變數,也會讓人摸不著頭腦,應該改為characternum這種規範的命名。

在自己認為沒有大毛病之後,還需要對方對自己進行挑錯。在這裡,挑錯要注意乙個原則:不要在雞蛋裡挑骨頭,要本著找出有意義的錯誤的原則,認真查錯。比如,「這樣的函式命名會不會和以後的命名衝突,從而引起歧義?」

step2:**潛在的邏輯問題,預防「邏輯災害」的發生

step3:修改完後也不鬆懈,繼續進行經驗總結

總結這個步驟,是讓我們「事半功倍」的不二捷徑。它不容忽視

然而,如果我們進行過程式優化,就會發現,這是乙個很令人詫異的結果——**的執行時間變成了原來的兩倍!這究竟是怎麼回事呢?

原來,在新的函式中,我採取了反覆呼叫子函式的措施來精簡**。而在我的子函式中,我為了繼續精簡**,又套用的新的子函式,這裡進行了兩次的套用。而在判斷是否為乙個單詞並進行儲存的時候,這種層層呼叫的次數是超乎想象的。正是這裡頭的反覆巢狀,大大拖慢了程式的執行速度。

接下來是進行修改,在不損失**簡潔性的前提下進行**優化,其中主要是效能優化。我首先要做的是把兩層的函式巢狀改為一層。

通過將兩層的函式巢狀改為一層,我的子函式從原來的16行變成了42行,可以說複雜了不少,但接下來我們看一下執行效率。

**的執行時間大約是最初執行時間的 1.4 倍。

這個結果比第一次優化的結果好了不少,但沒有達到本次**優化的最終目的——在不損失效能的前提下進行感官上閱讀體驗的提公升。當然,我也已經知曉了**變慢的原因——函式巢狀和函式呼叫花去了太多無用的時間,接下來的優化步驟也明晰了。

快速閱讀《構建之法》 構建之法閱讀筆記01

自己從3月4日開始讀 構建之法 在粗讀一遍後,自己產生如下疑問 1.風格真的很重要嗎?總覺得清晰易讀即可 2.編寫軟體時,是程式簡潔高效但不易讀好?還是程式冗餘效率低下但是方便別人閱讀易維護好?3.使用者體驗主要體現在哪些方面?介面美觀,反映速度快,功能齊全足夠了嗎?4.本書只說了團隊模式,並未對如...

《構建之法》閱讀筆記

第五章的內容是團隊的話題。團隊一直是乙個不可或缺的話題,球場上,網遊中都有著若干個團隊。個人離開團隊無法健康成長,團隊離開個人無法存在。團隊在我們軟體工程中是乙個非常重要的內容。團隊的特點 團隊有一致的集體目標,團隊要一起完成這個目標。乙個團隊的成員不一定要同時工作。團隊成員有各自的分工,互相依賴合...

構建之法閱讀筆記

本週先看了 構建之法 的第一章。這一章介紹的理論和知識點有電腦科學的領域 軟體的特性 軟體工程 軟體工程與電腦科學的關係,還向我們詳細介紹了軟體工程的定義與組成部分。其中有三個推論 程式 資料結構 演算法 軟體 程式 軟體工程 軟體企業 軟體 商業模式 由此可知,程式 演算法 資料結構 是基本功,但...