如何成為一名牛逼的C/C++程序員?


每一個學技術的人

都想干個三五年就能成為大牛

跳槽去大廠,薪水翻番

或者在一個小公司里,帶個小團隊

在30歲左右成為項目經理

晉升管理層

買房買車,實現人生理想

然而技術之路漫漫

想要成為牛×的程序員

還有很長的路要走

那么,成為一個很牛的C++程序員,需要修煉哪些技能呢?

1.C/C++語言

如果你的基礎很差,建議不要一開始就學C++語言,從C開始學起,對程序有個初步的認識,循序漸進。C語言的書嘛,先買一本300頁以內的,把書中的每一個例子都通過鍵盤敲打進去到Visualstudio里面去,然后單步執行,逐行調試去看各個變量的值。或者自行添加一些printf語句去輸出變量的值。這樣當你看完一本書后,你就有編寫小程序的感覺了。

記住,千萬不要偷懶,不敲進去,自以為聰明,能看懂,或者直接從光盤復制。偷懶的代價是會花費更多的時間學習,最后還沒有學會,給自己的自信心造成巨大打擊,再也不想學程序了。

C語言看完一本書后,下來你就可以買一本C++的書看了。C++的書也是一樣,必須300頁以內的那種,不要一來就想學《C++Primer中文版》這樣的好書,因為太厚了,怕你沒有信心能夠看完,即使你很有信心,花費一年的時間才看完,不值得。這種經典的厚的好書,適合作為資料查閱,不適合挨個細節都看。

還是要提醒各位,一定要把書中的例子挨個敲打到電腦里面,單步執行。一定不要從光盤復制,一定要單步執行。

經過兩本書的磨練,估計你對C/C++肯定有比較深入的了解了,下來應該可以進入實戰了。

 

2.帶界面的應用程序

學會了C/C++語言本身,可能還沒有什么成就感,畢竟都是控制台的程序,老是輸出一串字符串,整天面對各黑框框,成就感估計不是那么爽。要是能搞個帶UI界面的程序就爽了。

下來就看個人的志向了,如果走微軟路線,那你下來學MFC好了,如果要走開源路線,那開源跨平台的界面庫多得是。

通用的並且簡單的就是wxWidget了,官方網站為www.wxwidgets.org。你下載后看具體的例子,把里面的例子程序敲到你的Visualstudio里面,去調試,看運行的結果,你也可以試着去修改例子,添加按鈕,響應按鈕事件等。

走到這一步,恭喜你,可以照葫蘆畫瓢的搞個小應用程序了,還帶界面。

 

3.網絡應用程序

語言搞懂了,UI程序也會了,下來該學學網絡咯,現在哪個程序不需要聯網啊,懂網絡對你理解很多程序非常有幫助。但是網絡應用程序從哪里入手呢?

我來告訴你,從《UNIX網絡編程》這本書入手吧,這本書可以教會你網絡套接字的底層原理,把上面的例子好好學習,自己動手寫一個回應服務器。寫一個服務器端,再寫一個客戶端。服務器端請務必學會select這個簡單的多路復用模型,這樣你才能慢慢的深入里面poll,epoll,IOCP之類的模型。

 

4.文件操作

所有的程序,基本都會用到文件的讀寫操作,windows系統有自己的文件操作API,比如CreateFile,DeleteFile等,請新手不要學windows的文件操作API,新手請學標准C語言的文件操作函數,簡單易學還跨平台。就那么幾個函數,三下五除二你也就學會了,fopen,fclose,fread,fwrite,fseek,ftell就這么幾個而已。

 

5.深刻理解內存與指針的關系

作為一個C/C++程序員,從學習程序的頭一天開始,就要和內存的分配釋放作斗爭。你必須理解內存與指針的關系。怎么樣才能理解呢,請大家去看《高質量C/C++編程》里面自帶的幾個經典例子吧。把那幾個例子搞得清清楚楚,基本能夠理解其中的原理了。

 

6.修煉C++

我上面說的基本都是修煉C的,要修煉C++,還得再花3年功夫,才有可能練成C++高手。C++太博大精深了,其中最復雜的莫過於泛型編程思想,不要以為能寫個模板類就認為泛型編程不過如此而已。仔細看看STL源碼,Boost源碼,你就知道泛型編程有多么的博大精深了。修煉C++,可以從用C++封裝的MFC, wxWidget入手,看高手如何通過C++語言,封裝這樣龐大的UI庫,里面應用了很多的C++機制,最典型的就是多態機制,還有很多的設計模式應用可以研究。

 

7.深研設計模式

設計模式是程序設計的靈魂,是通用方法,當你面對一個大型項目的時候,如何設計一個有彈性的系統,是所有系統分析員應該掌握的技能。在設計模式的研究上,要結合實際的項目進行。

修煉到第八層,基本上就可以算作一個C++高手了。然而具體的每一層,都需要你一步一步慢慢地去走。

不想人到中年失業,走下坡路,甚至“被下崗”,面臨中年危機,需要提前規划好自己的人生,尤其是程序員這種相對比較吃“青春飯”的職業,利用好你的時間充分學習,提前將自己的技術修煉到一定水准。

 


免責聲明!

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



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