騰訊以及各大廠的c++開發環境是什么樣的?

大廠的C++開發環境基本都是“MacBook Pro+遠程Linux主機”“,或者直接在Linux上開發,至少在騰訊、百度、Google這些C/C++技術棧為主的企業,主要都是通過這種方式工作。編輯器方面基本上都是Vim為主,部分人也會用Emacs,不過這幾年隨著Visual Studio Code變得越來越受歡迎,在大廠里面也開始有很多人開始使用。

工具到底重要不重要?真的非常重要

大企業由于一些歷史原因,導致了很多工具的使用已經成了固定的傳承,就拿鵝廠來說,鵝廠之前用過SourceInsight作為主力開發工具,騰訊內部很多早期代碼GBK,這個歷史遺留問題直到現在還在困擾著騰訊的部分項目,大家也知道問題,不過想要徹底重構真的非常麻煩,工程量都是極大的,版本管理用過SVN,不過現在新的項目基本上也都是用Git管理。微信事業群也有正版的Clion這些工具供你使用,很多人也會用Vim、VS Code,不過本地基本上還是編輯器,大多數寫好代碼直接云端編譯就好了。

Google可能是全世界最好的C++大廠了,這個不是吹的,如果你同時在Google、百度、騰訊這些大廠都工作過的話,你會發現Google為什么是這個星球上最牛的互聯網公司,Google的代碼規范就甩開很多大廠一個檔次,Google的C++代碼規范可能是這個星球上最好的代碼規范了,沒有之一。在Google你可以選擇自己的辦公電腦,一般臺式機、筆記都會有。

Google并不會強制限制你用什么系統,但是Google有基于Debian定制Linux系統,很多人會用這套這是一個網路IDE,是的基于網路的,現在你應該明白為啥Google那么推崇Chrome下完成一切工作的原因了吧,因為他們自己連IDE都這么用。Linux,也有很多人用MacBook,用Windows系統的人也不再少數。大家寫代碼會用cider,也有很多使用Vim和Emacs的,甚至像賈揚清也說過,自己在Google就是用Sublime Text編輯器,總之選擇會非常多樣化,公司不會強制干涉。

工具真的非常重要,我非常不贊同很多人說,工具不重要,重要的是算法、重要的是數據結構,重要的是數學思維能力,我不否認內功的必要,但是有了好的內功,好的招數也非常重要,而開發工具就是你的武功招式。每個人不要去糾結別人怎么說,自己把主流的工具自己從頭到尾試一下,最終選擇一個自己順手的工具就好,大體上來說大多數人的選擇往往代表著一定的合理性。

好的工具能夠極大地提高工作效率,不過我認為工具好與不好不是大眾判定的,而是你自己用著順手不順手,不是說大多數人都喜歡的工具就一定是好的,得看每個人的使用習慣。就好比說我比較喜歡Emacs,不是很喜歡Vim,不代表Vim是更差的工具,這只是相對我而言,我更喜歡Emacs這個編輯器。

數學、算法、數據結構,這些基本功是修煉內功,不過光修煉內功也肯定不行,那么開發工作中這些編輯器、IDE、版本管理工具、以及編譯器等等,都是你的工具,只有同時把內功和招數都練好了,你才能真正的無敵。

10 条回复 A文章作者 M管理員
  1. vscode remotessh連到linux,samba映射linux磁盤到windows,sourceinsight看代碼。平時linux只用命令行操作[大笑]

  2. vim+插件比emacs好用,個人看法

  3. 對,數學不好沒法跟上人工智能時代,大浪淘沙被時代淘汰,可是年紀越來越大也是無可奈何,時間真的會淡忘很多東西,嘆新生代孩子們重視奧林匹克數學競賽,不過這玩意兒也靠天賦,人生而不同。

  4. 怎么編譯?

  5. 呵呵,老哥你應該沒在你說過的那些大廠待過。。想像和現實差距大啊[笑哭]

  6. Google的代碼規范好嗎?不知道你說的是那份?Google代碼規范被評為最差的。至少我看來是最差的

  7. 個人覺得clion好用,但是有點貴,今年還是用vscode了。

  8. 工欲善其事,必先利其器。工具確實很重要,好的工具能大幅提升工作效率。

  9. 還是微軟的vs好用

  10. 平臺不考慮嗎?動不動Mac Linux