C语言/C++程序员编程学习:版权和版本

综合编程 2018-05-16 阅读原文

C语言是面向过程的,而C++是面向对象的

C和C++的区别:

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

1、版权和版本

———————

好的程序员会给自己的每个函数,每个文件,都注上版权和版本。

对于C/C++的文件,文件头应该有类似这样的注释:

/************************************************************************

* 文件名:network.c

* 文件描述:文件的主要功能

* 创建人: bingol, 2017年12月1日

* 版本号:1.0

* 修改记录:

************************************************************************/

而对于函数来说,应该也有类似于这样的注释:

/*================================================================

* 函 数 名:XXX

* 参 数:

* type name [IN] : descripts

* type name [OUT] : descripts

* 功能描述:

* 返 回 值:成功TRUE,失败FALSE

* 抛出异常:

* 作 者:bingol 2017/12/01

================================================================*/

这样的描述可以让人对一个函数,一个文件有一个总体的认识,对代码的易读性和易维护

性有很大的好处。这是好的作品产生的开始。

2、缩进、空格、换行、空行、对齐

————————————————

缩进 应该是每个程序都会做的,只要学程序过程序就应该知道这个,但是我仍然看过不缩进的程序,或是乱缩进的程序,如果你的公司还有写程序不缩进的程序员,请毫不犹豫的开除他吧,并以破坏源码罪起诉他,还要他赔偿读过他程序的人的精神损失费。缩进,这是不成文规矩,缩进最好用空格键,不要用TAB键。

空格 。空格能给程序代来什么损失吗?没有,有效的利用空格可以让你的程序读进来更加赏心悦目。而不一堆表达式挤在一起。看看下面的代码:

ha=(ha*128+*key++)%tabPtr->size;

ha = ( ha * 128 + *key++ ) % tabPtr->size;

有空格和没有空格的感觉不一样。一般来说,语句中要在各个操作符间加空格,函

数调用时,要以各个参数间加空格。如下面这种加空格的和不加的:

if ((hProc=OpenProcess(PROCESS_ALL_ACCESS,FALSE,pid))==NULL){

}

if ( ( hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid) ) == NULL ){

}

换行 。不要把语句都写在一行上,这样很不好。如:

for(i=0;i'9')&&(a[i]'z')) break;

这种即无空格,又无换行的程序在写什么啊?加上空格和换行吧。

for ( i=0; i

if ( ( a[i] '9' ) &&

( a[i] 'z' ) ) {

break;

}

}

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

好多了吧?有时候,函数参数多的时候,最好也换行,如:

CreateProcess(

NULL,

cmdbuf,

NULL,

NULL,

bInhH,

dwCrtFlags,

envbuf,

NULL,

&siStartInfo,

&prInfo

);

条件语句也应该在必要时换行:

if ( ch >= '0' || ch <= '9' ||

ch >= 'a' || ch <= 'z' ||

ch >= 'A' || ch <= 'Z' )

空行 。不要不加空行,空行可以区分不同的程序块,程序块间,最好加上空行。如:

HANDLE hProcess;

PROCESS_T procInfo;

/* open the process handle */

if((hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid)) == NULL)

{

return LSE_MISC_SYS;

}

memset(&procInfo, 0, sizeof(procInfo));

procInfo.idProc = pid;

procInfo.hdProc = hProcess;

procInfo.misc |= MSCAVA_PROC;

return(0);

对齐 。用空格键对齐你的一些变量的声明或注释,一样会让你的程序好看一些。如:

typedef struct _pt_man_t_ {

int numProc; /* Number of processes */

int maxProc; /* Max Number of processes */

int maxProc; /* Max Number of processes */

int numEvnt; /* Number of events */

int maxEvnt; /* Max Number of events */

HANDLE* pHndEvnt; /* Array of events */

DWORD timeout; /* Time out interval */

HANDLE hPipe; /* Namedpipe */

TCHAR usr[MAXUSR];/* User name of the process */

int numMsg; /* Number of Message */

int Msg[MAXMSG];/* Space for intro process communicate */

} PT_MAN_T;

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

怎么样?感觉不错吧。

这里主要讲述了如果写出让人赏心悦目的代码,好看的代码会让人的心情愉快,读起代码也就不累,工整、整洁的程序代码,通常更让人欢迎,也更让人称道。现在的硬盘空间这么大,不要让你的代码挤在一起,这样它们会抱怨你虐待它们的。好了,用“缩进、空格、换行、空行、对齐”装饰你的代码吧,让他们从没有秩序的土匪中变成一排排整齐有秩序的正规部队吧。

这些是C/C++能做的

服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

简书

责编内容by:简书阅读原文】。感谢您的支持!

您可能感兴趣的

通用智能的一些重要概念 本文粗浅地讨论我对一些重要概念的理解:记忆 理解 概念 特征世界 识别 比较 归纳 预测 激励 推理 视觉推理 陌生事物 新鲜感 发现异常 生成网络 尝试 想象 动机 目标驱动 脑中图灵机 盲源分离 目标达成 世界模型 回忆 注意力 感知 ...
Boostnote for Mac(程序员代码记事本) v0.11.8免费版... Boostnote for Mac免费版是一款专为程序员开发的一种记事本开放源码应用程序。大多数的笔记本应用程序都一般都不会专对程序员,所以在这一点上Boostnote 是很利基的应用程序。针对快速记录下备忘录和代码片段,因此能用更好的方...
Reversing.kr题目之SimpleVM详解 概述 Reversing.kr是一个韩国的逆向题练习网站,题目的质量还是比较好的,比较费时间去破解,这里给出我在刷到SimpleVM这道题目的时候的一些心得和体会。 SimpleVM ###0 拿到文件之后拖入ida分析,发...
继Linux之父之后,独立开发者Jonathan Blow再次炮轰C++可怕... Jonathan Blow 是著名独立解密游戏《Braid》和《The Witness》的作者,近日,他表示 C++ 真的是一种可怕的语言,可怕到他要停下手中的工作发明一种新语言来改善程序员们的生活质量。对于 C++, 他认为...
After Launching Firefox 59, Mozilla Pushes Firefox... Three days after launching Firefox 59, Mozilla pushed Firefox 60 to developers . If you missed news about Firefox 59, d...