C++

这些问题仅向选择 C++ 作为其三种主要编程语言之一的开发者显示。

您经常使用哪种(哪些)C++ 标准?

12%41%39%46%13%C++20C++17C++14C++11C++98/C++03

人们在继续采用新的 C++ 标准。使用 C++20 的开发者比例上升到 12%。

11%36%44%47%18%C++20C++17C++14C++11C++98/C++03

一些问题(包括这个问题)的结果根据受访者开发的软件类型和他们公司所属的领域分为 3 组。这些组代表 C++ 开发的 3 个主要领域:嵌入式、金融和游戏。

您是否计划在未来 12 个月内迁移到另一个 C++ 标准?如果有计划,要迁移到哪种标准?

50%14%10%19% 8%否,我没有迁移计划到 C++11到 C++14到 C++17到 C++20

约有一半的 C++ 开发者计划今年迁移到其他标准。

您最常使用哪款 IDE 或编辑器进行 C++ 开发?

26%22%22% 7% 4% 4% 3% 3% 2% 2% 1% 3%Visual StudioCLionVisual Studio CodeVi/VimQtCreatorSublimeXcodeAtomEmacsEclipse CDTNetBeans其他

26%25%22% 6% 4% 4% 4% 3% 2% 2% 1% 1%Visual StudioVisual Studio CodeCLionVi/VimAtomEmacsQtCreatorXcodeNetBeansSublimeEclipse CDT其他

JetBrains 最近发布了 Rider for Unreal Engine IDE Public Preview,我们希望在明年的调查中将其纳入此表的“游戏开发”部分。

您经常使用哪种(哪些)单元测试框架(如果有)?

31%14% 6% 6% 3% 1%15%34% 4%Google TestCatchBoost.TestCppUnitdoctestCppUTest我不使用框架我不为 C++ 编写单元测试其他

Catch 今年上升到第二位,超过 Boost.Test 和 CppUnit。

31%12% 5% 6% 2% 2%19%32% 2%Google TestCatchBoost.TestCppUnitdoctestCppUTest我不使用框架我不为 C++ 编写单元测试其他

您在项目中使用什么依赖项管理器?

23%10% 8% 6% 3% 1% 4%49%我使用系统软件包管理器NugetvcpkgConanbuild2Hunter其他

一半的 C++ 开发者不使用任何工具管理他们的依赖项。

23%10% 7% 6% 5% 2% 6%46%我使用系统软件包管理器NugetvcpkgConanbuild2Hunter其他

您当前的项目(工作或学校)允许使用什么错误报告方法?

79%异常(throw、try、catch)
51%数字错误代码(例如,errc、error_code、HRESULT)
22%成功/失败结果类类型(例如,Boost.Expected、Boost.Outcome)

您经常使用哪种(哪些)项目模型或构建系统(如果有)?

53%35%29% 7% 7% 5% 3% 3% 2% 1% 4%13%CMakeVisual Studio 项目MakefilesXcode 项目定制构建系统QmakeAutotoolsBazelBoost.BuildSCons其他

与前几年相同,领先的构建系统仍是 CMake、Visual Studio 和 Makefiles。

54%35%34%11% 7% 7% 4% 3% 3% 2% 4% 8%CMakeMakefilesVisual Studio 项目定制构建系统QmakeXcode 项目AutotoolsBazelBoost.BuildSCons其他

您经常使用哪种(哪些)编译器?

74%43%32% 9% 5% 3%GCCClangMSVCIntel定制其他

GCC 的份额四年来首次增加,而 Clang 一直在稳步增长。

79%42%33% 8% 7% 5%GCCClangMSVCIntel定制其他

您或您的团队使用以下哪种(哪些)工具来执行准则或进行其他代码质量或分析?

36%23%20%13% 9% 6% 2% 2%我的 IDE 提供的工具(Visual Studio、ReSharper C++、CLion 等)Clang-tidyClang-analyzer/Clang Static AnalyzerCppcheckCpplintCoverityParasoft C/C++testStack
所有结果

Clang 越来越受欢迎推动着它的工具也越来越受青睐,例如 Clang-tidy 和 Clang-analyzer。

您或您的团队积极采用以下哪种(哪些)编码建议或准则源?

29%26%24% 9% 5% 5% 3% 3%Effective C++ 系列(Scott Meyers 的书籍)Google C++ 风格指南C++ Core Guidelines – 主项目 (github.com/isocpp/CppCoreGuidelines)C++ Coding Standards(Herb Sutter 和 Andrei Alexandrescu 合著的书籍)Guru of the Week/Exceptional C++ 系列(Herb Sutter 的博客/书籍)C++ Core Guidelines – 使用内部规则增强的公司特定的复刻/分支Abseil 的 Tips of the WeekHigh Integrity C++ Coding Standard (Programming Research)
所有结果

感谢您的参与!

我们真诚地希望您能发现我们的报告有用。与您的朋友和同事分享这份报告。

加入 JetBrains Tech Insights Lab

参与调查和用户体验研究,让 JetBrains 产品更易用、更强大。参与我们的研究,您还将有机会获得奖励。

如果您有任何疑问或建议,请发送电子邮件至 surveys@jetbrains.com

© 2000-2020 JetBrains s.r.o. 保留所有权利。