任务4.2 程序的风格和可移植性

任务4.2 程序的风格和可移植性

ID:38777334

大小:58.24 KB

页数:7页

时间:2019-06-19

任务4.2 程序的风格和可移植性_第1页
任务4.2 程序的风格和可移植性_第2页
任务4.2 程序的风格和可移植性_第3页
任务4.2 程序的风格和可移植性_第4页
任务4.2 程序的风格和可移植性_第5页
资源描述:

《任务4.2 程序的风格和可移植性》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、4.2程序的风格和可移植性任务4.2程序的风格和可移植性4.1.1任务介绍程序不仅仅要被计算机读,还要给程序员读。一个风格清爽而又严谨的程序更容易被读懂,更容易被修改和排错。良好的编程风格和正确的习惯还有助于保持思维清晰,写出正确无误的代码。特别是一开发团队共同工作时,保持一致的编程风格尤为重要。大多数初学者不太重视编程风格,事实上,每个初学者在项目初期都会因为不良编程习惯而浪费大量时间,因此若能在开始写程序时就重视编程风格问题,对顺利度过提高阶段有很大帮助。在本任务中,谈一下编程风格中几个最基本原则。另外,初学者第一次接触到的单片机是51单片机,但在后期的学习和工作中,可能会接触和使用其它功

2、能更强大的单片机,如AVR、MSP430、PIC或者STM32等。程序从一个平台到另外一个平台,涉及到程序的可移植性问题,如果初学者写出的代码移植性强,则这个工作是快乐而有趣的,否则将是重写大部分代码的枯燥重复劳动。在本任务中,还将介绍提高程序可移植性的方法。本节无具体任务,只有知识准备。4.1.2知识准备1、编程风格在程序的编程风格中,将从变量命名规则、函数命名规则、排版和注释等几个方面进行阐述。(1)变量命名规则变量命名尽量使用具有说明性的名称,避免使用a、b、c、x、y、z等无意义字符,应当直观且可以拼读,可望文知意,不必进行“解码”。使用范围较大的变量,如全局变量,更应该有一个说明性的

3、名称。变量名尽量使用名词,长度控制在1-4个单词最佳。如果名称包含多个单词,每个单词首字母大写以区分单词。单词不要出现中文拼音,如ge,shi,bai等。ucharKeyValue;//按键值uintInputValue;//输入电压uintTemperature;//温度当单词必须出现空格才好理解时,可以用下划线‘_’代替空格,如:uintDegree_C;//OCuintDegree_F;//OF74.2程序的风格和可移植性当单词较长时,可以适当缩写:ucharLedCnt;//LED计数器,其中Cnt是counter的缩写ucharTxBuffer;//发送缓冲器,其中Tx是transi

4、t的缩写另外在程序中不要出现名字完全相同的局部变量和全局变量,尽管两者的作用域不同而不会发生语法错误,但会使人误解,也不要出现仅靠大小写区分的相似的变量。对于约定速成的变量,如i、j作为循环变量,p、q作为指针变量等,不要改动,采用更长的变量名反而不习惯。(2)函数命名规则和变量一样,函数命名也应该具有说明性。函数名按照“模块+功能名”的方式命名,其中功能名应使用“动词”或者“动词+名词”的方式。voidSeg7Display();//数码管显示charKeyGetValue();//从键盘读取按键值voidTimer0_Init();//定时器0初始化voidUARTGetChar();//

5、从串口读取一字节数据voidLedTwinkle();//发光二极管闪烁每个单词首字母大写,便于阅读。遇到太长的单词也可以在不影响阅读的情况下适当缩写,例如用Tx代替单词Transimit,Rx代替单词Receive。和变量一样,一旦约定某种简化方式,以后保持统一的风格。(3)排版①代码缩进为了让程序看起来有层次感,突出程序的结构,C编程时要求语句之间缩进。缩进一般为4个空格,在KeilC51中,Edit->Configuration->Editor中,设置Tabsize为4。我们需要缩进时,按Tab键就可以一次缩进4个空格了。什么情况下应该缩进呢?首先花括号单独写成一行,然后按照以下原则缩进

6、。(a)花括号:花括号的正面和花括号前面一行对齐,反面和正面对齐,花括号内所有的语句缩进,花括号反面之后的第一行和花括号反面对齐。(b)for语句:for语句后面的第一行如果不是大括号,则for语句后面第一行要缩进,如果是大括号,则按(a)条来处理。(需要注意的是两个for连着写的时候,第二个for也要缩写)(c)其它的语句如while、if、switch等语句和for语句类似。代码缩进的格式举例如下:74.2程序的风格和可移植性voidmain(){ucharLedCnt;Timer0Init();while(1){if(FlagSystem10Ms==1){FlagSystem10Ms=0

7、;if(++LedCnt>=50){LedCnt=0;}}}}②较长的语句要分两行来写。对于较长的语句,分两行来写,在第一行语句的末尾加‘’,如if((TwinkOn==1)&&(FlagHour==1)&&((LedDisPos==0)

8、

9、(LedDisPos==1)))③函数的参数过长,分两行来写。ucharUARTInit(longintBaud,ucharParity,ucharDat

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。