C程序员从校园到职场.docx

上传人:夺命阿水 文档编号:900948 上传时间:2024-01-10 格式:DOCX 页数:135 大小:1.32MB
返回 下载 相关 举报
C程序员从校园到职场.docx_第1页
第1页 / 共135页
C程序员从校园到职场.docx_第2页
第2页 / 共135页
C程序员从校园到职场.docx_第3页
第3页 / 共135页
C程序员从校园到职场.docx_第4页
第4页 / 共135页
C程序员从校园到职场.docx_第5页
第5页 / 共135页
点击查看更多>>
资源描述

《C程序员从校园到职场.docx》由会员分享,可在线阅读,更多相关《C程序员从校园到职场.docx(135页珍藏版)》请在课桌文档上搜索。

1、C程序员从校园到职场L第1章概述2第2章学校到职场3第3章程序的样式4第4章变量和函数5第5章内存操作6第6章文件7第7章指针和结构体8第8章算法和协议9第9章程序重构D第10章S。L语句和Shen命令IL第11章程序问题排查2附录A同行评审第1章概述本章介绍C语言的发展历史和主要特点,以及实际项目工作中软件开发工程师常用到的工具软件。1.1 C语言的发展历史1.1.1 C语言之父C语言是1972年由美国贝尔实验室的计算机科学家DenniSRitChie(丹尼斯里奇)设计发明的。因此,De吧isRitchie被誉为“C语言之父”(他已于2011年10月9日去世,享年70岁)。图1.1所示的人物

2、就是DenniSRitChie。Dennis Ritchie1941-2011图1.1“C语言之父DenniSRitchieDenniSRitehie曾在哈佛大学学习物理学和应用数学,1967年进入贝尔实验室工作。作为计算机科学家,在他身上有很多可贵的、值得我们学习的品格,例如:第一,他对所做的事十分有兴趣;第二,跳出舒适区工作,不断挑战自己;第三,有创新思维,不拘泥于条条框框;第四,喜欢分享,不臧匿自己的核心技术。DenniSRitChie对计算机科学的贡献主要有以下几个方面:第一,作为“C语言之父”,他最大的贡献当然是发明了C语言;第二,1973年他与KenThOmPSon合作,把UNlX

3、90%以上的内容用C语言改写,因此也被誉为“UNIX之父”;第三,1978年他与BrianW.Kemighan一起出版了名著7CPegwwiMgLmgvage(C程序设计语言),此书已被翻译成多种语言,成为C语言方面最权威的教材之一。基于DermiSRitChie的杰出成就,1983年他与KenThomPSOn一起获得了图灵奖。1999年,DennisRitChie和KenThomPSon因为在发展C语言和UNlX操作系统方面所做出的贡献一起荣获了美国国家技术奖章。1.1.2 C语言的演进作为在国际上广泛使用的计算机编程语言,C语言的发展简史如图1.2所示。C语言到底有多少人在用?C语言的受欢

4、迎程度如何?如图1.3所示为CodeForge网站公布的2014年11月“我最喜爱的编程语言“排行榜。这个排行榜来自2014年11月对56000多名软件工程师的问卷调查。该排行榜非常清楚地反映了在世界不同国家和地区各种编程语言的流行程度,可供软件工程师及IT相关行业人士参考。从图1.3可以看出,在全球范围内,C语言的受欢迎程度位居排行榜的榜首。因此,C语言使用得非常广泛。1816141210864202014年11月-全球BnIIc-16.7%IIMatIab-14.6%Java-12.2%IIC#-10.1%Mvb-5.2%PHP-4.6%MVB.NET-2.8%Delphi-2.8%BAs

5、sembIy-2.5%Python-2.4%HJavascript-1.3%Objective-C-1.2%IHiFortran-1.1%IIPascal0.9%图1.32014年U月“我最喜爱的编程语言”排行榜1.2 C语言的主要特点C语言是一种功能强大的、被广泛应用的面向过程的编程语言,可用于编写系统软件和应用软件。C语言的主要特点如图1.4所示。如图1.4所示,C语言的诸多特点使其越来越受到广大软件开发人员的青睐,也使其成为了使用人数最多的计算机编程语言之一。学习好C语言,对于深入学习计算机科学的其他课程都是很有好处的。图1.4C语言的主要特点1.3 常用工具软件有一次,我打开电视机准备

6、随便看看,无意中被一部战争片吸引住了。成千上万的战士搭起云梯,想攻破一座城池。但是城楼上面的敌人负隅顽抗,拼了命地阻击进攻。双方的伤亡都很惨重,但城就是攻不下来。眼看剩下的人不多了,突然不知从什么地方开出一辆坦克,两炮就把城门轰开了。战士们趁势攻入城中,将敌人全部歼灭了。这类电视剧比较常见,相信大家看了不止一次。但是,我看完之后,那个场景还一直留在我的脑海里。成千上万的人不如一辆坦克来得直接,说明了什么问题呢?我立马想到了一句俗语:工欲善其事,必先利其器。的确,工具对于软件开发工程师来说,真的是很重要。好的工具能够提高开发的效率,进而缩短产品的研发周期。那么,在实际的软件研发项目中,软件开发工

7、程师常用的工具软件有哪些呢?1.3.1 MicrosoftVisualStudioZMicrosoftVisualC+6.0MicrosoftVisualStudio(VS)是美国微软公司的开发工具包系列产品。它是一个较为完整的开发工具集,包括了整个软件生命周期中所需要的大部分工具,如集成开发环境(IDE)等。MicrosoftVisualC+6.0(VC或者VC6.0),是微软推出的一款C+编译器,将“高级语言”(如C、C+等)翻译为“机器语言”的程序。它是一个功能强大的可视化软件开发工具,已成为大多数专业程序员进行软件开发的首选工具之一。现在的最新版C+编译器集成在MicrosoftVis

8、ualStudio2015软件里面。用MiCroSoflViSUaIC+6.0软件打开的代码如图1.5所示。图1.5用MiCrOSOftVisualC+6.0软件打开的代码鉴于使用MiCroSOftViSUalStudioZMicrosoftVisualC+6.0进行软件开发的人员很多,有热心人士为其开发了一款叫做ViSUaIAssistX的插件。VisualAssistX是一款非常好的MiCroSoftViSUaISlUdio/MicrosoftVisualC+6.0插件,支持C、C+JaVa等语言,能够自动识别各种关键字、系统函数、成员变量,同时能够自动给出输入提示、标示错误、更正大小写错

9、误等,有助于提高开发效率。1.3.2 SourceInsightSourceInSight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C、C+JaVa等程序的分析。它能够分析你的源代码,并自动为你显示有用的上下文信息。SoUrCelnSight不仅是一个强大的程序编辑器,还提供了最快速的对源代码的导航信息。该工具被视为如今最好用的语言编辑器之一。用SoUrCeInSight软件打开的代码如图1.6所示。AEsaBplcProjectSourceInrichtIBiaBplr.clfLo11FXK tl RH XSh DtfHQGExamptex心 r*slui ats.h * I

10、T32JrrX“八C3-JZTHHBHH3U lrcttPcer i 1Crjt QiM i ln& x e q M .* n*功能描述;*输入参数:*娴出蓼数:*返回值:其它说明:修改日期力 JmV iqa- s r me修改内容* 20130712VI.0周兆熊创建void main (fResult = ProcessFaIrtorial (IlnputValue);/ 调用求阶乘的函数printf(M%di-%10.0fnMr ilnputvaluer fResult);INT32 IInputValue = 0;float fResult 00;printf(*tinput an i

11、nteger number: scant (,%d iilnputvaiue);PrCeSSFjKtOfiEmcorneancc*w*wt)tloctulc-0.0;/MMfilcVlu0)(PtiBftteIlnpwtValKMrAM11-IjIlaWQcn农田d?图1.6用SOUrCeInSight软件打开的代码1.3.3 Notepad+NotePad+是一款很有特色的WindOWS环境下免费开源的代码编辑器。除了可以用来制作一般的纯文字说明文件之外,也十分适合用作代码程序的编辑器。NotePad+极具特色的一个功能就是语法的高亮度显示,方便了对关键词语的阅读。它支持的语言包括C、C+、

12、JaVa等。用NotePad+软件打开的代码如图1.7所示Q;iy DCCgeE s式的文ftltWl用意及代吗第79F*Bpleg*aBplccotepad数信阴W一12 rr3Q :07K入出国它改一13 动返其修一20术一个技的阳幕iJnptVame-(无求防渠府的结果无版本号修改人修改内容VI.0用兆罐创建floatProc*sFactor11(XNT32iZnputValM)B(-9tlCfR*ulC-;S/先一断人也鼻舌小于。if(XlnputVale)S(printf,I:nt:upvalueO,dat*errc:,)rtur-1;6)la,I;XnputVlu)。和l的期我是1

13、一CResuit1elseTiResult-ProceasFaccoirlAKIXnputVAlue-.iXnpucValue:/执行递白ill用rturn(fResult;C5-hlIzh2XBhr”61L0SB3“t八m,E31IiC图1.7用NOtePad+软件打开的代码1.3.4AraxisMerge/BeyondCompare1. AraxisMerge当程序代码比较多(成千上万行)的时候,我们想要了解最新代码与之前某个时期的代码的不同之处,并不是一件容易的事情。这样,代码比较工具就应运而生了。AraxisMerge和BeyondCOmPare是两款用得较多的代码比较工具。AraXi

14、SMerge是一个可视化的文件比较、合并和同步的软件,能够方便地被软件工程师用于快速精确地比较不同版本的源文件。此外,它还能被用于进行版本和质量控制。用AraXiSMerge软件进行代码比较如图1.8所示。2. BeyondCompareBeyondCOmPare是一套由SCooterSOftWare推出的软件,主要用于文件之间的比较。对于软件开发工程师来说,它可以用来发现不同版本代码或文档的不同,使用起来非常方便。tfvAra三iffIerceP;aBplcEule.c&nd0sEaBplcl8aapl(.cEJVjREllt (4K *e Inw S I? 3J3J 31(m tfl Q

15、;3* *- 3 V -sll22 float Pr*c*Vaorl32 1Xk*4kVaIu); Z326 SRt,魅:XdaZC 人敏.歪t? 雅N敏无26 0 0712VI . 099 34 V41d M3n4uK - 0.0;30PrIaCdnPVt an aeegr29ont40改为由e.M/ B明次阶孰r?说SBxmq11Exm1 cfXoc rooFccoril l32 llnnftVlu.5门格0 0 人S愉出 C5 *1R它儡明 WAOffi 20130712上克无无无Vi.0OBJbflr之四由e40珀而停燃” 帕人“敏 o 融: ii m. Xt0i:S3 改日朝京一个做

16、aiTnjtVAlu49acor&alXVT32 Xx*Vvod Bm,ZKT3: 1ZixocsF*crl (1Xmmk7a1u);幼蛇传T惊人,敢 惴出依 e roeFactoriallIVT32 *IBtmWFrtYlrblpBi(bl*lekiftlrAldarcc*artnvfaraenEmm图1.8用AraXiSMerge软件进行代码比较用BeyondCOmPare软件进行代码比较如图1.9所示。图1.9用BeyondCOmPare软件进行代码比较1.3.5 Evernote(印象笔记)Evemote(印象笔记)是2012年5月10日由EVeITIote公司推出的一款产品,具有储存

17、重要资料、剪辑网页、图片搜索等功能。对于软件开发工程师来说,EVernoIe可用于记录阅读过的重要技术书籍的笔记、在工作过程中的一些想法,以及软件实践或论文等。EVemOte软件的界面如图1.10所示。图1.10EVemote软件的界面1.3.6 FTP工具(如FileZina等)在工作过程中,我们会不时地需要用FTP工具来上传或下载一些东西。FiIeZilIa是软件开发工程师用得较多的FTP工具之一。FiIeZiHa是一款免费的、开源的FTP软件,分为客户端版本和服务器版本两种。它具备所有的FTP软件功能,使用起来非常方便、快捷,曾在2002年11月获选为当月最佳推荐专案。FiIeZiIla

18、软件的操作界面如图1.11所示(在使用的时候,需要输入正确的主机IP地址、用户名和密码,端口号一般使用默认的21)。务,HQ件MUMtWIm 切 IUMMtt (117)F*lZillaXttOMtt)S)Vt*oA巨U,口.z(t):匚二wpgtu):1ww:1aa(e):Iwm(qIRM:lM*cwnHmdHctvytoo.:UODtKtorywMOK.amr三q*mgma-c图1.11FileZiIIa软件的操作界面1.3.7UltraEdit在实际的软件开发过程中,UltraEdit也是一款经常会使用到的工具软件。它是一款功能十分强大的文本编辑器,可以用于编辑文本、十六进制、ASCn码

19、等。当然,用它来编写C/C+代码也是十分方便的。用UhraEdit软件打开代码之后的界面如图1.12所示。好的工具对于软件开发工程师来说,就像优良的战斗武器对于战士一样重要。善于利用优秀的工具,可节省开发时间、提高我们办事的效率,进而提高软件产品的质量。因此,掌握一些常用软件的使用方法是非常重要的。L Dlt raEdtt(Fx5tttMCft fJWUttRiPotteP*nr. c)S0(1)V 的中上又建8 M(X MS l)Ila) H(Y MI大修-:三& U 二-lk M null1 3图1.12用UkraEdit软件打开代码1.4小结本章对C语言的发展历史、C语言的主要特点,以及

20、软件开发工程师常用到的工具软件进行了详细的介绍。本章对后续章节起到了一个抛砖引玉的作用。第2章学校到职场踏出校门,对于我们整个学习生涯来说,只是“万里长征走出了第一步”。为了使得之后学习和工作的道路走得更加顺畅,我们需要认清自身所学知识的不足,我们需要破除一些有关软件开发的错误观念,我们更需要在学校里面就未雨绸缪地开始培养工作所需的一些技能。2.1认清自身不足我在走出校门的时候非常“轻狂”,认为自己在学校里面已经学得够多了,工作就只是“小菜一碟”。但在工作中屡次碰壁之后,我才发现自己当时的很多想法都是不成熟的。我们踏上工作岗位,一切几乎都要从零开始。对于大家“非常熟悉”的C语言来说,我们在学校

21、里面学到的只是皮毛,远远不能满足实际软件开发工作的要求。我们在学校里面学到的典型的C语言程序如下:!includevoidmain()floatfac(intn);intn;floaty;rintf(inputanintegernumber:);scanf(H%dH,&n);y=fac(n);printf(%d!=%10.Ofn,*,n,y);floatfac(intn)(floatf;if(n0)(printf(,n0rdataerror!,);)elseif(n=0IIn=1)f=l;elsef=fac(n-l)*n;return(f);对于以上程序,至少存在如下几个问题。第一,变量命名不

22、规范,而且没有初始化。对于该程序,main函数里的变量n、y,fac函数里变量f的命名均不规范,不能让人一眼就看出它是什么意思、要做什么操作。这对于一小段程序来说,影响还不是很大,但如果代码行数达到数千行甚至上万行,那么阅读起来就比较的费力。另外,以上3个变量只是定义了,并没有初始化,这在实际项目中也是不允许的。第二,函数的命名不规范,且没有在主函数开始之前进行声明。本程序中的fac函数要做什么操作?通过阅读代码,我们知道该函数的功能是计算一个整数的阶乘。在实际项目中,函数命名非常重要,因为很多项目涉及函数个数较多,如果不能通过函数名称来了解其作用,而必须通过阅读代码才能获悉,那么工作效率是很

23、低的。此外,我们一般不在函数调用者的内部来对被调函数进行声明,而是将声明放在外部,最好新建一个头文件(.h文件)来对程序里出现的函数进行声明。第三,程序代码排版不工整,“ifelse”语句书写不规范。在fac函数中,代码的排版不工整。第一个if语句下面的大括号应该与if关键字保持在同一列上,第二个“else”关键字应该与第二个“i俨关键字保持在同一列上,“41;”和“fMc(n-l)*n;”应该再缩进4个空格。另外,i和else”关键字下面的执行语句不管有多少行,都应该用“”括起来,以方便阅读。第四,程序注释过少,函数开头没有注释。一般说来,在程序的关键语句的前面或右边,都应该添加适当的注释,

24、这对程序的理解有辅助的作用。函数fac的前面应该加注释,说明此函数的功能、输入/输出参数、返回值、修改记录等。在整个程序的开头也要添加版本信息、修改记录等注释信息,以方便日后查阅。第五,程序中出现了“print产、“scan和“main”函数。这是大家都习以为常的,但在实际的项目中,儿乎不可能出现这3个函数。因为很多公司都有自己的开发平台,而且代码都达到数千行,甚至上万行,再加上大部分都不是基于VC开发的,你在哪里去输入,又在哪里去看输出呢?我一进公司,最开始看到程序,就想去找“printF、scant,和“main”,但这是徒劳的,因为根本就没有。关于输入/输出,开发中会有专门的消息处理流程

25、来处理,大家需要知道的就是一个完整的代码工程中不一定非要有上面的3个函数(但本书为了给大家介绍C语言的相关知识,在程序仍然使用这3个函数)。短短的几十行代码,就出现了这么多大家“没有想到的问题。看到以上的分析,也许你会很惊慌:我以前的C语言难道是白学了?非也!我举这个例子,不是为了给大家当头一棒,让大家觉得软件开发是多么高深和艰难。我只是想说明,对于C语言,我们还有很多不知道的东西,即使是自己知道的,也与实际工作存在较大的偏差,因此大家要虚心学习。我和大家一样,也经历了最开始的惶恐阶段,而后才逐渐去改变了自己“根深蒂固”的观念。“知错能改,善莫大焉啊!2.2 破除错误观念要让我们做事情的能力能

26、够有所提升,观念的转变是关键。从学生转变为职业人的过程是很艰难的,因为我们要与自己积累了多年的“老毛病”作斗争,这些“老毛病”包括:做事拖拉、不守时、不遵守规则、怕吃苦等。就像发射火箭卫星一样,摆脱重力的束缚所花费的燃料是最多的,一旦成功,那么以后的流程就会比较轻松了。所谓“万事开头难”,也就是这个道理。那么,要想掌握工作4IC语言的基本技能,我们需要破除哪些错误观念呢?如图2.1所示。图2.1我们需要破除的错误观念错误观念一:我的C语言学得很好。很多刚走出学校的、准备从事软件开发的人都持有这样的观念,因为他们在学校考试都得了高分。但想法是美好的,现实是残酷的。真正到了工作岗位,你就会发现,自

27、己在学校学的那些知识是十分有限的,根本不足以应对工作。例如,C语言中的指针、结构体、异常保护这些,学校里面讲得很少或者不深入,大家也没有太注意,只是应付了考试,但工作中我们需要时时与它们打交道。你还说自己学得好吗?因此,为了个人的技术积累和职业发展,我们一定要谦虚,要虚心学习。错误观念二:编程是很简单的事情。持这种观点的人,也是受到了学校教育的影响,因为书本上面的代码都很短,而且比较简单。但在工作中,也这么简单吗?非也。我总结了一下,教材上的程序与实际工作中的程序至少有以下几点不同。第一,代码行数的多少。教材中的代码一般为几十行,多则一两百行,大家当然会觉得简单;而工作中的代码少则几千行,多则

28、上万行,两者根本不是同一个数量级的。我最开始拿到程序的时候,脑袋就晕了:怎么这么多代码呢?我从没看到过。第二,变量及函数的命名。这是两者的最大不同,也是“专业”和“业余”的重要区别。在教材中,经常的命名有这几个:“inti;“、char*p;、floatf;“、intf(inta,intb)等,大家都已经习以为常了。但在实际的开发中,命名方式却大有不同。在工作中,我们要严格按照编程规范来办事,对变量及函数的命名不能想当然。这在后续的章节中会有详细的说明。第三,程序的注释。这也是很让人头痛的事情。教材上面的程序比较短,因此注释少,这也给大家引入了一种错觉:注释的有无和多少不重要。但在工作中,我们

29、要时刻记住:在一些重要的程序语句附近,一定要有注释。不仅如此,注释的写法也有多种,在不同的地方,写法是不一样的。简短而清晰的注释可以提高大家阅读代码的速度,进而提高了工作效率。第四,输入/输出语句。在教材上,几乎每个程序都有“scan和printF,这两个函数,用于读入和输出数据,大家用得是津津有味,如果哪个程序没有这两个函数,反而会觉得奇怪。但在实际的项目代码中,几乎不存在这两个函数的,而代之以其他方式来进行输入和输出。在刚开始的时候,你也许会觉得难以接受,但慢慢熟悉之后,你就会知道这是什么原因了。第五,程序的样式。在教材上,一段程序没有什么样式可言,只要实现需要的功能即可。这也给大家带来了

30、误解,认为编程只注重功能,其他什么的都可以“随心所欲但在工作中,对于程序的版式、布局都是有严格规定的,哪里应该缩进(以及缩进几个空格)、哪里应该留空格、哪里应该留空行,都是要注意的。这就像一个人一样,光说自己肚子里“有货”还不行,还需要注意外表,要让大家看起来觉得很舒服,所谓的“内外兼修”,就是这个道理。错误观念三:我只要把代码写好就行了,其他的就不用管了。大家也许会认为,开发工程师只负责写程序,其他的什么测试啊、写文档啊,就不必自己操心了。其实不然。在工作中,开发工程师的工作是很多的,编写代码只是一小部分。在编写代码之前,我们要对软件进行详细设计;在代码写完之后,不能马上把它交给测试人员来测

31、试。很多新手写完代码就了事,这是不对的。我们要首先进行自测,这会花费比较长的时间,甚至比写代码的时间还要长很多,等自测无误之后,才能正式提交。除了写代码和自测,我们还要编写相关的开发文档。你也许会认为写文档是文档工程师的事情,非也,这是开发工程师要干的。另外,我们从开始写代码到最后提交,都要严格遵守项目的管理流程,不能放任自流,要在规则之下来做事情。错误观念四:公司会安排好我的职业道路。每个人进入公司,都会有相应的入职培训,这其实就是公司对应届毕业生进行所谓的“洗脑”的过程。培训老师会给大家讲,公司是多么多么好,公司会针对每个员工制定好培养计划,让大家在适合自己的职业轨道上发展。但是,当你发现

32、坐在你旁边的员工已经入职10年,可是还做着和你一样的工作时,你对公司美好的幻想瞬间就破灭了。确实,不管是在学校,还是在工作单位,我们不要指望学校或公司能够将未来的道路给安排好,而要靠自己不断地努力去实现自身的价值。科学技术日新月异,新的软件开发技术层出不穷。从事软件开发这一行,我们就要马不停蹄地学习,任何寄希望于他人或公司的想法都是不可取的。“磨刀不误砍柴工”,在树立了正确的观念之后,我们学习工作中的C语言就容易多了。2.3 工作所需软技能的培养在新员工刚进入公司的时候,一般都会有一段时间的试用期,也叫做培训期。对于大部分IT企业来说,这个试用期大体分为3个阶段:第一阶段,企业文化、办事流程、

33、公司业务范围等的培训;第二阶段,工作所需专业知识的培训;第三阶段叫做“以师带徒”,也就是由一位老员工带着来从事具体的开发工作。但是,我们不能奢望通过这个短短的培训期就能够将工作中所需的技能全部掌握,因为学习重在长期的积累,个人习惯的改变更是一个漫长而痛苦的过程。这就需要我们在学校里面就有目的性地培养工作所需的方方面面的东西。总的说来,工作所需的一些软技能(即除专业技能之外的一些影响个人工作和发展的技能)如图2.2所示。较强的动手能力图2.2工作所需的一些软技能那么,我们如何在学校里面有针对性地培养如图2.2所示的各种能力呢?第一,对于实践性较强的一些课程(如程序设计课程、算法课程、网络课程、数

34、据库课程等),一定不能只求考试通过,要多问为什么、多动手编写程序。有一位学弟发来邮件向我咨询一些问题,其中有个问题是这样的:看书学技术的时候有时还是很有成就感的,特别是敲代码实现一些小的算法的时候,感觉很舒服。但是看得时间长了偶尔就会感觉枯燥,耐不住寂寞。想必很多人都有类似的感触。我的答复是这样的:如果你在学校写点程序就会觉得枯燥的话,在工作中你会觉得更枯燥。如果你从事软件开发工作,那么几乎每天都要和程序打交道,需要相当大的韧性才能坚持得住。如何才能既学到技术,又不感觉到枯燥呢?根据我个人的经验,可以参考图2.3。看书/。(3)当源程序中的函数比较多时,会出现很多函数都需要使用同一个变量的情况

35、,这就需要定义一个全局变量供它们使用。但全局变量的个数要尽量少,尽量不要定义多余的全局变量,这样可以减少不同函数之间的耦合性。什么原因呢?就拿人类来说,我们依靠别人越少,我们就会越自由,如果做很多事情都要别人先问问别人的意见,你的心里感觉如何?(4)函数是程序的核心,我们开头做了那么多的工作,都是为实现函数功能服务的。那么函数到底应该怎么写呢?这是后续内容要讲解的。这里要说的是函数头部的注释。很多开发工程师不喜欢写注释,或者写出的是很简单的注释,起不到注释应有的作用。函数头部的注释可采用如下的样式:* 功能描述:* 输入参数:* 输出参数:* 返回值:* 其他说明:* 修改日期版本号修改人修改内容* YYYYMMDDXXXNameYYYip/“YYYYMMDD”表示“年月日”,“XXX”是创建或修改函数时的版本号,“Name”是函数创建或修改人的名字,“YYY”是对函数修改内容的简要描述(如果该函数是第一次创建,那么“YYY”就可以写成“创建”)。在实际的开发工作中,很多软件程序都比较复杂,其中涉及的宏定义、结构体、函数等非常多,大家一定要按照规范的头文件及源文件的样式来书写程序,以利于代码的阅读及后期维护。本书中的大部

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号