如何閱讀C++源代碼


如何閱讀C++源代碼

(這是我在閱讀C++源代碼時總結的一些體會,以后還要把新的體會再補充進來,逐步擴充和完善本文。)

1. 讀C++源代碼時,按照聲明文件(.h文件)和實現文件(.cpp文件)的順序來讀,先弄清楚各個類的組成,再弄清各個類的成員函數的實現,判定和理解各個成員函數的功能。

2. 在讀C++源代碼時,要注意類與類之間的靜態聯系和動態聯系。類與類之間的靜態聯系包括類之間的繼承關系、組合關系等;類與類之間的動態聯系包括類的成員函數之間的函數調用關系等。

3. 要會從C++程序的入口函數main函數開始讀,main函數是整個程序的執行流程,通過跟蹤這個執行流程,可以弄清這個程序是如何運行的,各個類在程序運行中如何互相發生聯系。

編程經驗小結

1、采用最自然、最簡單的設計。只在必要時才采用精巧的設計。

2、平時編程和測試中遇到的錯誤,一定要清除,否則留到最后,成為難以琢磨的錯誤,到用戶反饋回來再追蹤,要花幾倍甚至十幾倍的時間。 

3、涉及到從數據庫讀數據的問題,一定要考慮到連接是否釋放,一定要測試是否會出現連接池滿的情況,方法是,對模塊進行數千次或更多次的連接和關閉,看是否會報連接池滿的錯誤。 4、OOD(面向對象設計)要偏向於職責導向,而非問題導向。

5、快速編程的方法1: 用中文注釋的方式寫出中文流程。在此過程中很自然地對模塊進行了自頂向下的划分。根據模塊的功能確定函數的簽名(即函數名和函數參數表)。 6、快速編程的方法2: 首先寫出實現主要邏輯的骨干代碼(甚至可以只是完成邏輯流程的明確划分),再逐步精細化以及對一些過大的函數進行重構。 7、注意:不要過早陷入細節,一定要先完成主要邏輯代碼,這是控制開發時間的關鍵。

8、不要想一步完成一個大任務,遇到這種情況最好是分成多步來完成。比如,有時想把一個模塊做得很完美,於是在每一步都寫得很精細,這樣的弊端是過早地陷入細節,開發時間就會拖得很長。不如首先將代碼的骨干邏輯寫出來,完成后,再精細化,這樣開發進度就會容易控制得多。把一大步分成多個小步是很好的開發策略。 9、編程的第一步是厘清邏輯,寫出一步步要做什么(相當於流程圖)。

10、正常情況下不會出現的錯誤可以用Debug.Assert(以C#為例,下同)來限制。假如此處發生了中斷,那么表示不是本函數的問題,而是函數的調用者未傳入正確的參數或其他的外部原因。比如,在函數說明中已經作了限制的參數,由於調用函數的錯誤使用,傳入了不符合規范的參數,這樣在程序中加入了Debug.Assert就可以檢查到。 11、當要防范的問題不是函數內部的問題,而是外部的問題時,可以用Debug.Assert。 Debug.Assert主要是防范“正常情況下不會出現的錯誤” Exception(異常)主要是防范“正常情況下可能出現的錯誤”。

12、編程時,要優先采用以前成功使用過的技術或函數,以加快編程速度同時降低風險。 13、不要為了學習某種新技術,而刻意地去采取復雜的或不自然的代碼;在項目開發過程中,也不要從學習的目的出發,刻意地使用一些以前沒有使用過的技術。要記住,項目開發的目的在於開發取得成功,而不是在於所采用的技術。 14、自己編程技術上的提高應該平滑地進行,小步快走,不要一步邁得太大。特別是不要為了提高自己的技術而貽誤時間,造成開發項目失敗。

15、要在保證進度和遵循良好編程習慣之間到達平衡。 16、采用靈活架構的一個重要目的是為了便於修改和擴充。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM