從「會用工具」到「駕馭技術」的思維轉變
MSDN 包含最權威、最完整、最新的 API 文檔、範例代碼、最佳實踐。遇到問題先查 MSDN(現為 Docs.microsoft.com),能解決 90% 的語法、參數、錯誤碼疑問。養成「查官方文檔 > 搜博客 > 發帖提問」的優先級。
每週花 30 分鐘記錄:
這比多寫幾千行業務代碼更能提升架構能力。
| 維度 | 反模式 | 最佳實踐 |
|---|---|---|
| 命名 | a, b, temp, func1 | 語義化:maxRetryCount, ParseHttpHeader |
| 函數長度 | 超過 50 行 | 單一職責,< 30 行,巢狀 < 3 層 |
| 錯誤處理 | 忽略返回值、catch(...) | RAII、異常規格化、錯誤碼枚舉 |
| 註釋 | 「i++ // i 加 1」 | 解釋「業務意圖、非顯而易見的算法、TODO/FIXME」 |
DebugBreak() 觸發即時調試,_CrtSetDbgFlag 檢測堆損壞/內存洩漏。提交前必跑:
/analyze、Cppcheck、Clang-Tidy每完成一個模塊/項目,產出一份《專題筆記》:
# 多線程專題總結
## 核心概念
- 临界区 vs 互斥體 vs 事件 vs 信號量 適用場景對比表
- 線程池實現原理(IOCP/TP/手寫)
## 實戰踩坑
- ABA 問題 → InterlockedCompareExchange128 / 標記指針
- 偽喚醒 → Condition Variable 必須用 while 循環檢查條件
## 參考資源
- 《C++ Concurrency in Action》Ch.3-5
- MSDN: Synchronization Objects
VC++ 涉及 C++、Windows 內核、COM、MFC/ATL、網絡、圖形、安全等廣闊領域。前兩年常感「知其然不知其所以然」,這是正常的。堅持:
三年後回望,你會發現那些曾經晦澀的概念已成為直覺。
習慣成就卓越。從今天開始,選擇一項開始踐行。