第4章 編寫正確的程式
**的開發是自上而下進行的(從一般思想開始,將其完善為獨立的**行)
正確性分析則是自下而上進行的:從每個獨立的**行開始,檢查它們是如何協同運作並解決問題的
初始化 保持 終止
過去開發**時總是亂七八糟,在以後程式設計中和除錯過程中,需要同時修正錯誤**和錯誤的斷言:總是保持對**的正確理解
編寫簡單的**通常是得到正確程式的關鍵
第5章 程式設計小事
到目前為止,你已經做了一切該做的事:通過深入挖掘定義了正確的問題,通過仔細選擇演算法和資料結構平衡了真正的需求,通過程式驗證技術寫出了優雅的偽**,並對其正確性相當有把握。
腳手架 編碼 測試 除錯 計時
第6章 程式效能分析
通過幾個不同層面上的改進來獲得巨大的加速
演算法和資料結構 演算法調優 資料結構重組 **調優 硬體
設計層面
問題定義 系統結構 演算法和資料結構 **調優 系統軟體 硬體
計算機系統中最廉價、最快速且最可靠的元件是根本不存在的
如果僅需要較小的加速,就對效果最佳的層面做改進
如果需要較大的加速,就對多個層面做改進
程式設計珠璣(第二版)讀書筆記 1 2
問題 乙個檔案f,包含最多1000萬條無序的 不重複的記錄,每條記錄都是乙個7位的十進位制正整數,利用1mb左右的記憶體空間,按照整數的大小對檔案進行公升序排序,將結果儲存到檔案fo中。分析 1mb記憶體,共有1024 1024 8 8388608bit,如果每個正整數採用32位二進位制儲存,可以存...
《程式設計珠璣》閱讀筆記03
該書的第三個大部分講述的是產品。前面的兩個部分,為第三部分打下基礎,前兩部分講述如何程式設計,以及怎樣程式設計可以是程式效率更高,效果更好,而這一部分則是將前兩部分所講述的內容應用到程式設計中去,通過實際應用講述章節 的技術所聚焦的焦點。在第三部分中,11章講述了幾個一般用途的排序演算法,12章講述...
03《軟體構架實踐第二版》閱讀筆記之三
在本書的第一部分,我們學習了預想構架,為分析軟體架構奠定了基礎,陳述了當設計師開始構建系統時的各種影響因素,並指出了特定的質量屬性要求通常產生於組織的業務目標。而本書的第二部分的重點就是設計師如何建立構架。首先 的是可能適合構架的不同型別的質量屬性。在構架商業週期部分,已經學習到商業目的決定了系統構...