任务42程序的风格和可移植性.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
任务42程序的风格和可移植性

任务4.2 程序的风格和可移植性 4.1.1 任务介绍 程序不仅仅要被计算机读,还要给程序员读。一个风格清爽而又严谨的程序更容易被读懂,更容易被修改和排错。良好的编程风格和正确的习惯还有助于保持思维清晰,写出正确无误的代码。特别是一开发团队共同工作时,保持一致的编程风格尤为重要。 大多数初学者不太重视编程风格,事实上,每个初学者在项目初期都会因为不良编程习惯而浪费大量时间,因此若能在开始写程序时就重视编程风格问题,对顺利度过提高阶段有很大帮助。在本任务中,谈一下编程风格中几个最基本原则。 另外,初学者第一次接触到的单片机是51单片机,但在后期的学习和工作中,可能会接触和使用其它功能更强大的单片机,如AVR、MSP430、PIC或者STM32等。程序从一个平台到另外一个平台,涉及到程序的可移植性问题,如果初学者写出的代码移植性强,则这个工作是快乐而有趣的,否则将是重写大部分代码的枯燥重复劳动。在本任务中,还将介绍提高程序可移植性的方法。 本节无具体任务,只有知识准备。 4.1.2 知识准备 1、编程风格 在程序的编程风格中,将从变量命名规则、函数命名规则、排版和注释等几个方面进行阐述。 (1)变量命名规则 变量命名尽量使用具有说明性的名称,避免使用a、b、c、x、y、z等无意义字符,应当直观且可以拼读,可望文知意,不必进行“解码”。使用范围较大的变量,如全局变量,更应该有一个说明性的名称。变量名尽量使用名词,长度控制在1-4个单词最佳。如果名称包含多个单词,每个单词首字母大写以区分单词。单词不要出现中文拼音,如ge,shi,bai等。 当单词必须出现空格才好理解时,可以用下划线‘_’代替空格,如: 当单词较长时,可以适当缩写: 另外在程序中不要出现名字完全相同的局部变量和全局变量,尽管两者的作用域不同而不会发生语法错误,但会使人误解,也不要出现仅靠大小写区分的相似的变量。对于约定速成的变量,如i、j作为循环变量,p、q作为指针变量等,不要改动,采用更长的变量名反而不习惯。 (2)函数命名规则 和变量一样,函数命名也应该具有说明性。函数名按照“模块+功能名”的方式命名,其中功能名应使用“动词”或者“动词+名词”的方式。 每个单词首字母大写,便于阅读。遇到太长的单词也可以在不影响阅读的情况下适当缩写,例如用Tx代替单词Transimit,Rx代替单词Receive。和变量一样,一旦约定某种简化方式,以后保持统一的风格。 (3)排版 ① 代码缩进 为了让程序看起来有层次感,突出程序的结构,C编程时要求语句之间缩进。缩进一般为4个空格,在KeilC51中,Edit-Configuration-Editor中,设置Tab size为4。我们需要缩进时,按Tab键就可以一次缩进4个空格了。什么情况下应该缩进呢?首先花括号单独写成一行,然后按照以下原则缩进。 (a)花括号:花括号的正面和花括号前面一行对齐,反面和正面对齐,花括号内所有的语句缩进,花括号反面之后的第一行和花括号反面对齐。 (b)for语句:for语句后面的第一行如果不是大括号,则for语句后面第一行要缩进,如果是大括号,则按(a)条来处理。(需要注意的是两个for连着写的时候,第二个for也要缩写) (c)其它的语句如while、if、switch等语句和for语句类似。 代码缩进的格式举例如下: ② 较长的语句要分两行来写。 对于较长的语句,分两行来写,在第一行语句的末尾加‘\’,如 ③ 函数的参数过长,分两行来写。 (4)注释 注释是帮组程序读者的一种手段。这里读者不仅包括其他人,也包括编程员本身。一个注释不够详细、明确的程序,过上一段时间之后,连自己都看不懂。代码的注释亮要保持在代码的20%以上,注释不能写成流水账的形式,最好的注释是简洁明了的点名程序的突出特征,或者阐明思路,或者指出特殊之处,以帮助理解程序。 ① 对于每个函数,特别是底层函数,都要注释。在函数前面注释该函数的名称、功能、入口参数、出口参数、说明等。如果参与团队开发,还应该写若干个典型的应用范例,供别人参考。举例: ② 文件头部的说明性文件 在.c文件的头部加一些文字说明,举例: 2、程序的可移植性 在51单片机入门之后,大部分初学者会转向功能更强大的单片机,如AVR、MSP430、STM32等单片机。我们学习51单片机时编写的每个程序都有可能会移植到不同的硬件环境或者其它的处理器平台上运行,了解一些移植的概念和基本知识对今后的开发会有很大的帮助。 (1)消除CPU差异 我们先看一段数码管扫描程序

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档