百科问答小站 logo
百科问答小站 font logo



腾讯以及各大厂的 C++ 开发环境是什么样的? 第1页

  

user avatar   pansz 网友的相关建议: 
      

如果说腾讯的话,老项目svn,新项目很多都是git了,通讯环境的话用微信企业版比较多,而项目相关的工作内容有很多会基于网页。开发环境最需要统一的就是版本管理,其它倒是比较自由。

由于C++在腾讯最主要的用途是服务器后端,因此实际上你可以使用任意的编辑器,大厂员工很务实,是很少就这个问题撕逼的。

远古时代(大约十五年前)很多人用SourceInsight3.5,因为它有完美破解版。但是它的致命问题有两个:第一是只支持C语言,C++支持比较糟糕,第二是只支持GBK不支持UTF-8,这个问题在现在来说很致命,都2020年了你几乎不会还允许程序员用GBK写代码,虽然2005年用GBK写代码还挺常见。

SourceInsight4.0改进了这两个支持,能够有限程度支持UTF-8,并且C++支持比前作排版强了半分钱,但售价是天价(四位数以上)。鉴于大厂一般不允许本机装盗版,SI4.0的价格又几乎不可能购买,所以现实中除了可以申请购买SI4的公司,其它公司已经极少有人用它。

自己折腾党有用Vim跟Emacs的很多,当然也有直接用其它IDE的,比如VS,比如Eclipse(嗯,这货确实也可以写C++),比如JB,比如。。。各种选择都可以,服务器后端C++程序员们真的不会对IDE问题过于纠结,自己习惯用哪个就是哪个。

就现在而言,Eclipse原作者的新作品:Visual Studio Code 逐渐成为程序员新宠,它有技术跟历史的必然。虽然它目前还有不少问题,但已经越来越多的人开始使用它。

纠结IDE的项目大都缺乏自己的构建系统,而对于互联网项目来说,CI/CD 机制已经很流行,这意味着C++项目是必须自动构建的,能 CI/CD 也就意味着必须有可以被命令行批处理的构建,进而就脱离了任何指定的IDE。

--

所以你要说开发环境是什么?

那就是:统一的SCM管理,基于Web的问题跟踪及缺陷管理,客户端的项目组成员间通讯,后台服务CI/CD。——至于IDE,可以说并不是开发环境的一部分,只是程序员的个人爱好选择而已。


user avatar   xi-yang-86-73 网友的相关建议: 
      

我来厚着脸皮答一个:我们公司并不是大厂,一共只有11个人,主要产品是在Windows、Mac上面的桌面程序和动态库形式的插件(VST、Audio Unit、AAX)。经过几年的迭(zhe)代(teng)之后,目前是这样的局面:

  • 版本控制:收费的PlasticSCM(二进制资源太多,Git LFS糊不上墙)。所有项目、源代码库、二进制库放在一个大repo里,保证编译环境的一致性。
  • 编译控制:使用CMake。每个项目自己都可以单独作为顶层的项目进行生成(而不是整个repo做顶层,那样CMake generate步骤太长了),依赖项目用add_subdirectory(../XXX)引入。二进制库用CMake的add_library(IMPORT)那套设施包装一下。
  • 代码编写:在Windows上用CMake生成VS项目,使用VS编辑。只有我一个人在Linux上用Qt Creator。其它语言的脚本工具(主要是python)现在都用VS Code编辑(其实用啥都行,VS Code主要是好用)。
  • C++基础库:主要使用JUCE自带的(字符串功能还挺全),有时也用用C++标准库。
  • C++版本:使用C++14。更高版本的C++受到我们当前定的Mac SDK版本10.9制约(很多用户用非常老的Mac,没办法)。
  • 编译:各人本地编译。

目前来看,这个结构还算堪用。遗留的问题主要是:

  • CMake对新手难学难写;
  • CMake有分离的generate步骤,有时很麻烦;
  • JUCE的GUI框架非常古旧,大量使用虚函数继承,而不是现在更常见的listener函数。

前些日子想过把CMake换成Bazel。然而Bazel虽然看起来有很多优点,但一个是bug多,一个是从头折腾一遍代价太大,目前没有足够的动力。


user avatar   bai-ru-bing-58 网友的相关建议: 
      

Unreal默认使用的是C++14


user avatar   terry-53-70-12 网友的相关建议: 
      

克劳备忘录也好,凯南电报也好,有两大共同点。首先,都是以现实主义的眼光去分析双方的关系。然后,给出的建议都是阳谋,并不是什么不可告人的阴谋,执行起来需要的不是鸡鸣狗盗的小聪明,而是惊人的意志力。

而美国现在战略界现实主义被边缘化,我推测,布热津斯基,基辛格那帮人应该写过不少。不过没所谓,美国能执行大战略的时代过去了。现在这一代精英上半年能管下半年就已经很了不起了。一个需要两代人以上持之以恒去完成的大战略,搞出来他们也执行不了。

冷战时期,从杜鲁门艾森豪威尔到肯尼迪尼克松,最后到李根老布什,个人性格和政治偏好差距不要太大,但是都忠实地完成了他们历史任务,沿着围堵政策做下去。这种战略定力和延续性,世间少见。在中国领导集团上能看见一些相似的东西,但是我们离得距离太近,反而看不清。但在美国精英层身上完全看不到这一点。

个人愚见。


user avatar   emnkcn 网友的相关建议: 
      

克劳备忘录也好,凯南电报也好,有两大共同点。首先,都是以现实主义的眼光去分析双方的关系。然后,给出的建议都是阳谋,并不是什么不可告人的阴谋,执行起来需要的不是鸡鸣狗盗的小聪明,而是惊人的意志力。

而美国现在战略界现实主义被边缘化,我推测,布热津斯基,基辛格那帮人应该写过不少。不过没所谓,美国能执行大战略的时代过去了。现在这一代精英上半年能管下半年就已经很了不起了。一个需要两代人以上持之以恒去完成的大战略,搞出来他们也执行不了。

冷战时期,从杜鲁门艾森豪威尔到肯尼迪尼克松,最后到李根老布什,个人性格和政治偏好差距不要太大,但是都忠实地完成了他们历史任务,沿着围堵政策做下去。这种战略定力和延续性,世间少见。在中国领导集团上能看见一些相似的东西,但是我们离得距离太近,反而看不清。但在美国精英层身上完全看不到这一点。

个人愚见。




  

相关话题

  linux更新后无法启动时你的心情怎样、第一步怎么做? 
  为什么 Linux 要用 tar.gz,很少用 7Z 或 ZIP? 
  Windows 的文件夹的权限管理为什么乱七八糟的? 
  为什么很多新型编程语言都抛弃了 C 语言风格的 for 语句? 
  Linux 应该装个虚拟机还是买个二手电脑呢? 
  有人将linux作为主力机系统的么,说说为什么? 
  互联网已经杀成了红海,制造业智能制造却还寥寥无几,为什么BAT不去涉足智能制造? 
  为什么企业微信没有Linux版本? 
  为什么现在招聘程序员大多要求 Java / C / C++ 技能,而 C# / .NET 不受青睐? 
  BAT 中哪家公司消失对中国人影响最大? 

前一个讨论
英语中什么情况下人名会使用姓在前名在后的写法?
下一个讨论
如果内燃机的热机效率达到99.99%,尾气会是什么状态?





© 2024-11-25 - tinynew.org. All Rights Reserved.
© 2024-11-25 - tinynew.org. 保留所有权利