天天看點

《代碼大全》學習摘要(四)僞代碼程式設計過程

        今天閱讀的是《代碼大全》的第9章——“僞代碼編碼過程”。看罷本章,我對于程式設計的方式方法又有了新的認識,可謂是我覺得收獲最大的一章,決心按書中的方法去自己實踐一下。

        正如作者在這一章末尾提到的,“這本書的一個目的就是告訴你怎樣脫離那種先東拼西湊,然後通過運作來看代碼是否工作的怪圈”(就我自己寫代碼的過程來看,與這種方式非常相似),在沒有完全想好類和子程式的具體功能和流程就開始編碼的結果就是做出一個勉強能運作的程式,它可能漏洞百出,但你不知道問題究竟出在哪裡,要改進隻能從頭再來。

        是以,想要寫出高品質、邏輯清晰的程式,有必要在設計階段通過僞代碼這種方式給出類和子程式的功能和流程,在确認沒有問題之後再使用合适的語言将它實作為代碼。作者對于如何有效的使用僞代碼來建構程式給出了詳細的描述,我将它歸納如下:

1、編寫一個程式的過程應當包括類的總體設計、建立類中的子程式(即類的一些方法)、複審并測試整個類。在所有類都順利編寫完成後,整個程式的編寫也就完成了。

2、子程式的建立步驟包括設計子程式、檢查設計、編寫子程式的代碼、複審并測試。

3、“僞代碼”是指某種用來描述算法、子程式、類或完整程式的工作邏輯的、非形式的、類似于英語的記法(我們用漢語也是可以的)。

4、僞代碼使評審更容易,你無須檢查源代碼就可以評審細節設計。

5、僞代碼支援反複疊代的精化的思想。從一個高層設計開始,把這一設計精化為僞代碼,然後再把僞代碼精化為源代碼。

6、僞代碼比真實的代碼更容易修改。好比你是願意在藍圖上改一條線還是願意在牆面上動工?

7、僞代碼能使給代碼作注釋的工作量減到最少。在典型的編碼過程中,人們都是先寫出代碼,然後添加注釋。而在僞代碼程式設計過程中,僞代碼的語句将會變為代碼中的注釋。(這是我最欣賞的一點,既能優化代碼的品質,又能減少不必要的勞動)

8、僞代碼編碼過程包括檢查先決條件(要做的工作是否已經定義好),定義子程式要解決的問題,為子程式命名,在标準庫中搜尋可用的功能,考慮錯誤處理,考慮效率問題,研究算法和資料類型,最後是編寫僞代碼。

9、子程式的編寫過程包括先寫出子程式的聲明,把僞代碼轉變為高層次的注釋,在每條注釋下面填充代碼,檢查代碼是否需要進一步分解(僞代碼展開後規模較大)。

10、在腦海中檢查程式中的錯誤,在檢查後再編譯子程式。在建構過程的後期才開始編譯能夠帶來很多好處,第一次編譯完成以後,你就會開始給自己施壓了,認為下一次編譯就能解決問題,下意識得開始“東拼西湊”。如果你沒有陷入這種怪圈,就在你覺得合适的時候再去編譯吧。(現在還沒有很深的了解,程式設計經驗還不足)

ps:後面再寫html小遊戲我就會開始使用這種建構方法了

繼續閱讀