大厂的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、版本管理工具、以及编译器等等,都是你的工具,只有同时把内功和招数都练好了,你才能真正的无敌。