我是具有C语言和C++经验的电子工程师(我用C编写微控制器,用C++编写,用Borland C++ Builder编写的Windows)
我公司开发电机控制产品,我们正在使用STM32和IAR编译器.
我认识到语言之间的技术差异,我对开发海岸和代码的维护成本感兴趣:
编写C++代码的开发时间是否比C长?
C++代码的维护成本是否比C便宜?(我知道代码总会有变化)
用C语言编写针对C的代码是否容易?(描述代码如何工作的文档)
Charles Salv.. 17
这是非常主观的.我个人认为使用C++进行开发在开发时间和维护方面的成本较低,特别是对于大型复杂项目.这是因为我见过的大多数大型复杂C项目总是以这种或那种方式最终实现C++特性(例如多态).另外,我认为某些C++特性,如命名空间,数据封装和对象的自动初始化/破坏,增加了大型项目的可维护性; 虽然这些东西中的一些可以或多或少地被模仿到C中的不同程度的有效性.
但是,根据大量的其他因素,您的里程可能会有很大差异.例如,如果你的编程团队在使用C语言方面比C++有更多的经验,那么在C++中可能不值得这样做.
这是非常主观的.我个人认为使用C++进行开发在开发时间和维护方面的成本较低,特别是对于大型复杂项目.这是因为我见过的大多数大型复杂C项目总是以这种或那种方式最终实现C++特性(例如多态).另外,我认为某些C++特性,如命名空间,数据封装和对象的自动初始化/破坏,增加了大型项目的可维护性; 虽然这些东西中的一些可以或多或少地被模仿到C中的不同程度的有效性.
但是,根据大量的其他因素,您的里程可能会有很大差异.例如,如果你的编程团队在使用C语言方面比C++有更多的经验,那么在C++中可能不值得这样做.
编写C++代码的开发时间是否比C长?
这完全取决于您的程序员.他们擅长写C或C++吗?
C++代码的维护成本是否比C便宜?(我知道代码总会有变化)
再次,将取决于您的程序员.您可以使用任何语言编写可维护或不可维护的代码.
用C语言编写针对C的代码是否容易?(描述代码如何工作的文档)
完全取决于您的团队和您正在使用的工具,但我想他们可能会大致相同.
总而言之,这一切都取决于你拥有的人和他们最擅长的人.如果你试图将一堆C程序员放在一个C++项目上,你可能会得到一些非常糟糕的C++.同样,如果你试图将一堆C++人员放在纯C项目上.
取决于所涉团队的经验.使用C++,您可以访问更丰富的库函数(但在嵌入它们时要小心它们的足迹).
精心设计的C++代码比C代码更容易维护,因为它允许一些语法糖(构造函数,析构函数,RAII).
文件的成本大致相同.