首先声明,谈到开发环境,不仅包含IDE,还有其他很多很多的工具。
腾讯使用的IDE
很多很多年前腾讯的办公电脑都是Windows
所以C++的程序员长期都是在Windows下办公,腾讯使用最多的IDE就是SourceInsight。
SourceInsight开发效率其实并不高,但是作为阅读源码而言,真的是神器。
腾讯的同步
当时比较常见的开发方式就是在Windows上用SourceInsight进行开发。然后同步到Linux开发机上。
腾讯的版本控制
腾讯都是使用SVN做版本控制的,Windows上下载那个乌龟SVN,有图形化的方式进行各种操作。
腾讯的c++版本
腾讯各个BG几乎各自为战,不管是框架还是工具都没有统一标准。对于C++的版本有的部门升级到了g++编译器,支持了C++11。但也有很多部门还使用的C++98/03。美其名曰:稳定安全。
腾讯的编译与包管理
编译还是手写Makefile的方式,当然有一些通用的Makefile模板,倒也不需要太花时间。对于包管理由于C++没有Maven、npm、pip那种开源方案,在腾讯内部也还是没有高级的方式,只能保证开发机上安装的公共库(自建、第三方库)和远程编译机以及生产环境上完全一致。
百度都是用MacBook,也就没有了SourceInsight。开发方式就是用iTerm直接SSH登录Linux开发机进行开发。
百度的开发:vim + tmux
主流的开发方式,就是登录Linux开发机用Vim进行开发,配置一些常用的插件即可,也不用特别复杂,打造出IDE那种也没必要。除了vim之外,还有一个不得不提的神器:tmux。tmux不是写代码的工具,它主要是能做到”工作现场的保存和复原“。
百度的源码阅读
百度,喜欢用Vim来阅读各种代码。
百度的版本控制
百度已经全部迁移到git。所以开发过程中,就是各种git命令的使用了。
百度的c++版本
只要确认gcc某新版本稳定之后,经常强推到新版本。
百度的编译和包管理
公司内部自研了一个给C++用的包管理工具
谷歌员工比较幸福,c++环境可能是业界最棒。
写代码用cider,就是chrome浏览器。入职会配备一个linux台式机,一个MacBook。
Cider可能是用过的最好的工具,远远好于Facebook的nuclide,动不动会死掉,编译器blaze应该还不错,Facebook的buck就是一伙Google员工跳槽过去做的blaze山寨版,两个东西比较一下还是Google的速度更快点儿。
所以你要说开发环境是什么?
那就是:统一的SCM管理,基于Web的问题跟踪及缺陷管理,客户端的项目组成员间通讯,后台服务CI/CD,至于IDE,可以说并不是开发环境的一部分,只是程序员的个人爱好选择而已。
最后还有句话是这么说的:栽一棵树最好的时间是十年前,其次是现在。对于学习编程的小伙伴,如果你想更好地提升你的编程核心能力(内功),在未来成为一名有为的技术人员!笔者这里或许可以帮到你~
资料领取方式:
- 关注本号
- 私信“111”即可获取领取方式哦
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!