欢迎来到天天文库
浏览记录
ID:46976806
大小:379.50 KB
页数:27页
时间:2019-12-02
《软件研究室培训(编程规范》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、编程规范1、程序员花更多的时间在调试、维护和升级已有代码上,而不是编写新的代码;2、程序最重要的是正确性,其次是可维护性,最后才是效率;3、学习如何写优美的程序与学习如何正确地编写代码同样重要;4、让程序尽量简单易懂,即使违背了某些规则也无关紧要;5、一个运行正常但没有注释的程序如同一个等待爆炸的定时炸弹,因为早晚会有人修改或升级这个程序;6、好风格应该成为一种习惯。如果你在开始写代码时就关心风格问题,如果你花时间去审视和改进它,你将会逐渐养成一种好的编程习惯。一旦这种习惯变成自动的东西,你的潜意识就会帮你照料许多细
2、节问题,甚至你在工作压力下写出的代码也会更好。关于编程规范的几个原则floatb,c[10];voidabc(void){floatzongfen=0;intd;for(d=0;d<10;d++){if(c[d]>0)zongfen+=c[b];b=zongfen/10;}这段程序在做什么?这段程序是否有错误?这程序中存在哪些不良的书写风格?它们可能会引起什么后果?程序实例floatb,c[10];voidabc(void){floatzongfen=0;intd;for(d=0;d<10;d++){if(c[d]>
3、0)zongfen+=c[b];b=zongfen/10;}#defineSTUDENT_NUM10//学生总数floatfAvgScore;//平均分floatfScore[STUDENT_NUM];//分数/*平均分计算函数*/voidAvgScore(void){inti;floattotal_score=0;//总分for(i=0;i0)//遇到负分,记为0分total_score+=fScore[i];}//计算平均分if(STU
4、DENT_NUM>0)fAvgScore=total_score/STUDENT_NUM;}有了哪些改进?你认为还有什么地方需要改进?一、标识符标识符的命名要清晰、明了,有明确含义。使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。标识符应当采用英文单词或其组合,切忌使用汉语拼音来命名。坏的命名:inta/Age1/XueshengAge;好的命名:intStudentAge;1.1变量名1.1.1不同作用域变量的命名局部变量以小写字母命名;全局变量以首字母大写方式命名(骆驼式);定义类型和宏定义常数以大写字
5、母命名;变量的作用域越大,它的名字所带有的信息就应该越多。局部变量:intstudent_age;全局变量:intStudentAge;宏定义常数:#defineSTUDENT_NUM10类型定义:typedefINT16Sint;1.1.2不同类型变量的命名(匈牙利命名法)匈牙利命名法是一种命名约定。匈牙利命名法把变量的类型(或者它的预期使用)等信息编码在变量名中。一些常用的匈牙利命名法前缀数据类型前缀例子charccInCharunsignedcharucucOutCharintiiReturnValueunsi
6、gnedintuiuiControlWordlongllNumRecsfloatffLengthdoubleddArea一、标识符1.1.3指针变量的命名对于指针的定义,名称大小写根据指针为全局/局部变量来定,但指针名必须以小写的“p”开头。如:int*pDay;//全局指针int*pday;//局部指针int**ppDay;//指针的指针1.1.4在某一模块中使用的变量,变量名的开始需有模块名。如:模块KEY.C中的变量:intiKeyNum;intiKeyNumBuff[10];一、标识符一、标识符1.2函数名函
7、数名的命名应象全局变量一样采用首字母大写方式(骆驼式)。函数名的开始应以“模块名_”的格式注明函数所属模块。例如:(1)KEY.C模块的函数voidKEY_Init(void);voidKEY_StartScan(void);voidKEY_StopScan(void);(2)TMR.C模块的函数voidTMR_Init(void);voidTMR_Start(TMR_IDtmr);voidTMR_Stop(TMR_IDtmr);二、排版名字的合理选择可以帮助理解程序。同样,也应该以尽可能一目了然的形式书写语句。这就
8、像保持书桌整洁可以使你容易找到东西一样。2.1用缩进格式书写代码函数或过程的开始、结构定义及循环、判断等语句中的代码都要采用缩进;缩进的空格数为4个;使用空格键,不使用TAB键;程序块的分界符(‘{’和‘}’)应各独占一行。例:for(i=0;i0){//遇到负分,记
此文档下载收益归作者所有