《代碼大全2》閱讀筆記04–Chapter 9 The Pseudocode Programming Process

來源:互聯網
上載者:User

Chapter 9 The Pseudocode Programming Process
 虛擬碼編程過程

9.1 Summary of Steps in Building Classes and Routines
 建立類和子程式的步驟概述
Steps in Creating a Class
建立一個類的步驟:
1. 建立類的總體設計
2. 建立類中的子程式
3. 複審並測試整個類

Steps in Building a Routine
建立子程式的步驟
設計子程式,檢查設計,編寫子程式碼, 檢查代碼。

9.2 Pseudocode for Pros
 虛擬碼

·用類似英語的語句來精確描述特定的操作。
·避免使用目標語言中的文法元素。
·在本意(intent,意圖)的層面上編寫虛擬碼。
·在一個足夠低的層次上編寫虛擬碼,以便可以近乎自動地從它產生代碼。

9.3 Constructing Routines by Using the PPP
通過虛擬碼編程過程建立子程式

·Design the Routine 設計子程式
 1. 檢查先決條件
 2. 定義子程式要解決的問題
 3. 為子程式命名
 4. 在標準庫中搜尋可用的功能
 5. 考慮錯誤處理
 6. 考慮效率問題
 7. 研究演算法和資料類型
 8. 編寫虛擬碼
 9. 考慮資料
 10. 檢查虛擬碼
 11. 在虛擬碼中實驗一些想法,留下最好的想法(迭代)。

Code the Routine 編寫子程式的代碼 
1. 寫出子程式的聲明
2. 在每條注視下面填充代碼
3. 檢查代碼是否需要進一步分解
4. 在腦海裡檢查程式中的錯誤
5. 編譯子程式
6. 在調試器中逐行執行代碼
7. 測試代碼
8. 消除程式中的錯誤

Cleaner Up Leftovers 收尾工作
1. 檢查子程式的介面
2. 檢查整體的設計品質
3. 檢查子程式中的變數
4. 檢查子程式中的語句和邏輯
5. 檢查子程式的布局
6. 檢查子程式的文檔
7. 出去冗餘的代碼

Repeat Steps as Needed 根據需要重複上述步驟

9.4 Alternatives to the PPP
 虛擬碼編寫過程的替代方案

1. 測試先行開發(Test-first development)
 測試先行是一種流行的開發方法,用該方法開發的時候,在任何代碼之前先要寫出測試案例。
2. 重構(refactoring)
 重構也是一種開發方法,該方法通過對代碼進行一系列保持語義的變換和調整來提高代碼品質。
3. 契約式設計(design by contract)
 認為每一段程式都具有前條件(preconditions)和後條件(postconditions)。
4. 東拼西湊(hacking)
 
Key Points 要點
· 建立類和子程式通常都是一個迭代的過程。在建立子程式的過程中獲得的認識常常會反過來影響類的設計。
· 編寫好的虛擬碼需要使用易懂的英語,要避免使用特定程式設計語言中才有的特性,同時要在意圖的層面上寫虛擬碼(即描述該做什麼

,而不是要怎麼去做)
· 虛擬碼編程過程是一個行之有效做詳細設計的工具,它同時讓編碼工作更容易。虛擬碼會直接轉化為注釋,從而確保了注釋的准

確度和實用性。
· 不要只停留在你所想到的第一個設計方案上。反覆使用虛擬碼做出多種方案,然後選出其中最佳的一種方案在開始編碼。
· 每一步完成後都要檢查你的工作成果,還要鼓勵其他人幫你來檢查。這樣你就會再投入精力最少的時候,用最低的成本發現錯誤。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.