2019年5月28日 星期二

[職場] C++/C 菜鳥工程師的技術筆記

身為軟體工程師菜鳥,對於要如何閱讀大型軟體專案的程式碼一直是一件相當困擾的事情。終於在因緣際會下看到 Yoda Lee 的部落格文章「閱讀程式碼的心得」,總算是在黑暗中看到一盞明燈。

另外一篇是在上文中連結到 PCMan 本人在 PTT 上面的回應:「Re: [請益] 如何沉住氣讀別人的 code」,也是相當好的經驗談。

身為 C++/C 軟體工程師菜鳥,在跟朋友討教的過程中也才發現原來 C++/C 中的 New/ Delete 已經是要被捨棄的東西了。C++20 New 這個行為已經被棄用,C++23 New 就正式要被拿掉了。關於這件事情可以參考一下這篇文章:「No New New: Raw Pointers Removed from C++

如果對於 Design Pattern 或是 refactoring (重構) 有興趣的朋友,也可以參考 https://refactoring.guru/ 的免費教學資源,卡通化的網頁說明解釋,對於吞下枯燥無味的內容應該有很大的幫助。

我自己也在 Udemy 上面找到一門課程「
Design Patterns in Modern C++ 」,購入價格美金 $12,個人覺得優點是對於每個 Design Pattern 都有實例解說,比較能夠讓人了解到底實務上要如何使用,避免流於空談。有興趣的朋友也可以買來看看,個人覺得課程品質比在 Youtube 上面的教學影片都要好得多。

身為一個工程師,命令列的使用也相當重要。在這個「命令列的藝術」的 GitHub 專案中,你可以很快速的瀏覽一遍,看看是否有你平常會用到的實用指令來加速你平日的工作效率。
https://github.com/jlevy/the-art-of-command-line

2019 年的 CppCon 中的 “Back to Basics: Smart Pointers” 演講也是一個很好的基礎課程,這邊快速地用一個小時講解了為何要使用 unique_ptr, shared_ptr 的原因與使用技巧


以上,如果有什麼其他的學習心得,我會再更新在此篇文章中。