首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> C++ 入門

C++ 語言特性深度解析:從抽象層次到工程實踐

     編輯:C++ 入門

作者從抽象角度闡述程式語言演進:組合語言抽象機器底層,過程式語言再抽象組合語言,兩者皆為描述機器,程式設計師須自行建立問題空間與解空間的橋樑。為直接在機器上建模問題空間,面向物件語言應運而生——用物件模擬現實事物,賦予其特性與行為。

在此脈絡下,類別概念引入,物件透過類別的函式(介面)與外界互動;為控制建立者與使用者的耦合、提高模組獨立性,封裝不可或缺。程式碼重用是核心課題:組合重用實作、繼承重用介面、多態重用客戶端代碼。

物件的建構與銷毀關係生存期與儲存區,C++ 以效率優先,靈活但複雜的記憶體管理機制順理成章。異常處理是實務大患,標準 C++ 在語言層面大幅增強,保證錯誤被處理且可恢復。

軟體分析與設計的五階段實踐

現成方法針對最複雜情況設計,我們只需取用夠用的部分。提倡儘快讓程式跑起來,經簡要分析優先處理核心與高風險部分,盡早產出測試版——非直接編碼,但不可過早陷入細節。分析程度對 OOP 而言,即搞清有哪些物件、各自介面為何,不多不少。整個過程約分五步:

  1. 訂計畫:高度抽象描述系統,設里程碑激勵團隊。
  2. 做什麼:需求分析與系統規格,建議用用例描述功能與反應,保持簡單。排程估算時間乘 2 再加 10%。
  3. 怎麼做:用 CRC 卡(3×5 卡片記錄類別名、職責、協作)或 UML。物件設計五階段:發現、組裝、構建、擴充、重用。原則:一個類別只解決一個問題,盡早編碼、盡量簡單。
  4. 建核心:只實作跑起來的必要部分與高風險部分。
  5. 迭代用例:每次增加一個用例,逐步完善。
  6. 演進:盡善盡美,為未來備妥。

極限程式設計的啟示

最突出的方法是極限程式設計(XP),核心是「先寫測試」與「結對程式設計」。先寫測試強迫給出完整清晰的類別介面,並能在每次建置時自動測試。從檢測角度看,程式語言進步即檢測進步:組合語言只查語法錯誤,C++ 可查語義錯誤,OOP 語言檢查更嚴格。仍有錯誤只在運行時發現,需加入測試代碼保證正確性。結對程式設計讓一人寫碼、一人思考全局,卡住可換人或集體討論。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved