本篇文章为大家展示了怎样进行c++代码编制,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。对***次接触到C++代码编制的用户和学者来说,了解C++语言的概念是非常重要的,那么就先说一下什么是C++语
本篇文章为大家展示了怎样进行c++代码编制,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
对***次接触到C++代码编制的用户和学者来说,了解C++语言的概念是非常重要的,那么就先说一下什么是C++语言,所谓C++语言:是一种使用非常广泛的计算机编程语言。
在我们的实际开发中,常常以拷贝C++代码的方式来复用代码。这包括某段代码的拷贝,或者是几个文件的拷贝。我倒是要提出一个我认为最基本的编码原则:原则6 除非万不得已,永远也不要拷贝代码。
如果我们把代码在一个工程内部进行拷贝,说明这个工程内部有部分代码必然是重复的。作为高效率的开发者,为何要编写重复的代码,而不直接复用他们呢?这说明代码的设计有问题,或者是开发人员出于一时的方便起见,做出了敷衍的操作。
如果我们把C++代码在一个工程拷贝到另外一个工程。说明我们实际上已经写出了可以在工程之间通用的代码。这样的代码,是经过至少一个工程的考验的,我们为何不直接使用它们,而要另外拷贝一份呢?代码的拷贝,至少有以下几个缺点:
如果这份代码是没有bug的。那么在拷贝过程中,可能出现bug。
如果这份代码是有bug的,那么在拷贝过程中,bug也被复制了。bug会传染到其他的工程组件,甚至其他的工程项目中。
所谓的代码复用,我打算给出一个定义如下:
bool check( const vector< condition * > &conditions) { unsigned int i; bool result = true; for(i=0;i<conditions.size();++i) { if(conditions[i]->check_type == “Hardware”) resulte &&= HardwareCheck(condition->param1,condition->param2); else if(conditions[i]->check_type == “ReGIStry”) resulte &&= RegistryCheck(condition->param1,condition->param2); else if(conditions[i]->check_type == “OS”) resulte &&= OSCheck(condition->param1,condition->param2); else if(conditions[i]->check_type == “Process”) resulte &&= ProcessCheck(condition->param1,condition->param2); … … } }
以上的if … else if不但难看而且长。更重要的是,这非常的没有可扩展性。这个check组件,必须依赖于一系列的实现非常复杂的模块,比如HardwareCheck, RegisterCheck, OsCheck, ProcessCheck,没有其中任何一个的实现就无法操作。实施上,这个check是没有任何可复用性的。
此外,如果Log.c中还#include了def.h,那注定不能被轻易的“拷贝”。这处于工程开发阶段的一个方便的考虑:假设我把所有的头文件、宏定义、或者函数声明都包含在一个叫做 def.h的头文件中。那么,我编写C++代码的时候会非常方便,一般只要#include “def.h”就可以了,不用担心任何缺少头文件之类的问题。
上述内容就是怎样进行C++代码编制,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网其他教程频道。
--结束END--
本文标题: 怎样进行C++代码编制
本文链接: https://lsjlt.com/news/291042.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0