开关电源组C语言编程规范ppt课件

上传人:鲁** 文档编号:567689436 上传时间:2024-07-22 格式:PPT 页数:48 大小:1.09MB
返回 下载 相关 举报
开关电源组C语言编程规范ppt课件_第1页
第1页 / 共48页
开关电源组C语言编程规范ppt课件_第2页
第2页 / 共48页
开关电源组C语言编程规范ppt课件_第3页
第3页 / 共48页
开关电源组C语言编程规范ppt课件_第4页
第4页 / 共48页
开关电源组C语言编程规范ppt课件_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《开关电源组C语言编程规范ppt课件》由会员分享,可在线阅读,更多相关《开关电源组C语言编程规范ppt课件(48页珍藏版)》请在金锄头文库上搜索。

1、Security Level: 英文标题:40-47pt 副标题:26-30pt字体颜色:反白内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:35-47pt字体:黑体 副标题:24-28pt字体颜色:反白字体:细黑体C语言编程规范语言编程规范编写出简洁、可维护、可靠、可测试、编写出简洁、可维护、可靠、可测试、高效、可移植的代码高效、可移植的代码内部公开英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0

2、字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.前言提高提高作品作品竞争力,要在以下几个方面下竞争力,要在以下几个方面下功夫功夫:提高规划水平,把握正确的方向(战略)提高规划水平,把握正确的方向(战略)提高设计水平,搭建合理的系统(战术)提高设计水平,搭建合理的系

3、统(战术)提高编码水平,开发稳定的代码(单兵作战技能)提高编码水平,开发稳定的代码(单兵作战技能)英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色

4、方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.前言l我们为什么要进行我们为什么要进行C语言编程规范培训?语言编程规范培训?最好的医术是预防最好的医术是预防真正的难问题往往是低级错误引起的真正的难问题往往是低级错误引起的我们的编码水平不容乐观我们的编码水平不容乐观C C是程序员的语言是程序员的语言英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑

5、色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.前言l要提高编码水平,每个开发人员要要提高编码水平,每个开发人员要做到做到:勤学苦练,提高编程技能前车之鉴,后世之师,不犯同样的错误;坚持代码Review、PC-LINT检查和单元测试;l总而言之,就是少犯错误,尽早发现错误总而言之,就是少犯错误,尽早发现错误英文标题:32-35pt 颜色:

6、 R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.基础篇之简单就是美If (a & b | c | d

7、 = e & f)If (a & b | c | d = e & f)这个表达式的正确运算顺序是什么?这个表达式的正确运算顺序是什么?test(a+, +a, a+, +a, a+, +a)test(a+, +a, a+, +a, a+, +a)a = 1;a = 1;实际函数调用时,传入的参数值分别是多少?实际函数调用时,传入的参数值分别是多少?(+*p+) (+*p+) (-*q-) (-*q-)语义是什么?语义是什么?a= b=1,c=2,d=3; e=4;a= b=1,c=2,d=3; e=4;a a的值是多少?的值是多少?英文标题:32-35pt 颜色: R153 G0 B0内部使用

8、字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.基础篇之简单就是美这里没有答案,只有问题:这里没有答案,只有问题:我们问什么要写这

9、样的代码?我们问什么要写这样的代码?工作太轻松?工作太轻松?BUGBUG不够多?不够多?水平显不出?水平显不出?如何改进?如何改进?优先级搞不清楚用括号;优先级搞不清楚用括号;复合语句太罗嗦,拆成几行来写;复合语句太罗嗦,拆成几行来写;套用两句广告词:套用两句广告词:把简单的事情复杂化,太累把简单的事情复杂化,太累把复杂的事情简单化,贡献!把复杂的事情简单化,贡献!英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子

10、目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.基础篇之简单就是美编码的三不原则不要挑战自己的记性不要挑战同事的耐心不要挑战编译器的水平编码的三用原则能用简单语句的,就不要用复杂的技巧能用成熟代码的,就不要再来一套能用上工具的,就一定要机械化英文标题:32-35pt 颜色: R153 G0 B0内部

11、使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.代码总体原则l1、清晰第一、清晰第一 l清晰性是易于维护、易于重构的程序必需具

12、备的特征。代码首先是给人读的,好的代码应当可以像文章一样发声朗诵出来。 l目前软件维护期成本占整个生命周期成本的40%90%。根据业界经验,维护期变更代码的成本,小型系统是开发期的5倍,大型系统(100万行代码以上)可以达到100倍。业界的调查指出,开开发组发组平均大平均大约约一半的一半的人力用于弥人力用于弥补过补过去的去的错误错误,而不是添加新的功能来帮,而不是添加新的功能来帮助公司提高助公司提高竞竞争力争力。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R15

13、3 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.代码总体原则l2、简洁为简洁为美美 l简洁简洁就是易于理解并且易于就是易于理解并且易于实现实现。代码越长越难以看懂,也就越容易在修改时引入错误。写的代码越多,意味着出错的地方越多,也就意味着代码的可靠性

14、越低。因此,我们提倡大家通过编写简洁明了的代码来提升代码可靠性。 l废弃的代码(没有被调用的函数和全局变量)要及时清除,重复代码应该尽可能提炼成函数。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参

15、考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.代码总体原则l3、选择选择合适的合适的风风格,与代格,与代码码原有原有风风格保持一致格保持一致 l产品所有人共同分享同一种风格所带来的好处,远远超出为了统一而付出的代价。在公司已有编码规范的指导下,审慎地编排代码以使代码尽可能清晰,是一项非常重要的技能。如果重构/修改其他风格的代码时,比较明智的做法是根据根据现现有代有代码码的的现现有有风风格格继续编继续编写写代代码码英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext L

16、T Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.1 头文件 l对对于于C语语言来言来说说,头头文件的文件的设计设计体体现现了大部分的系了大部分的系统设统设计计。不合理

17、的头文件布局是编译时间过长的根因,不合理的头文件实际上不合理的设计。 l术语术语定定义义: l依依赖赖:本章节特指编译依赖。若x.h包含了y.h,则称作x依赖y。依赖关系会进行传导,如x.h包含y.h,而y.h又包含了z.h,则x通过y依赖了z。依赖将导致编译时间的上升。虽然依赖是不可避免的,也是必须的,但是不良的设计会导致整个系统的依赖关系无比复杂,使得任意一个文件的修改都要重新编译整个系统,导致编译时间巨幅上升。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R

18、153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.1 头文件 l原原则1.1 头文件中适合放置接口的声明,不适合放置文件中适合放置接口的声明,不适合放置实现。l说明:头文件是模块或单元(Unit)的对外接口。头文件中应放置对外部的声明,如对外提供的

19、函数声明、宏定义、类型定义等。l内部使用的函数声明不应放在头文件中。l内部使用的宏、枚举、结构定义不应放入头文件中。l变量定义不应放在头文件中,应放在.c文件中。l变量的声明尽量不要放在头文件中,亦即尽量不要使用全局变量作为接口。变量是模块或单元的内部实现细节,不应通过在头文件中声明的方式直接暴露给外部,应通过函数接口的方式进行对外暴露。即使必即使必须使用全局使用全局变量,也只量,也只应当在当在.c中定中定义全局全局变量,在量,在.h中中仅声明声明变量量为全局的。全局的。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用

20、字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.1 头文件 l原原则1.2 头文件文件应当当职责单一。一。 l说明:头文件过于复杂,依赖过于复杂是导致编译时间过长的主要原因。很多现有代码中头

21、文件过大,职责过多,再加上循环依赖的问题,可能导致为了在.c中使用一个宏,而包含十几个头文件。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方

22、案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.1 头文件 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一

23、页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.1 头文件 l规则1.1 每一个每一个.c文件文件应有一个同名有一个同名.h文件,用于声明需要文件,用于声明需要对外公外公开的接口。开的接口。l说明:如果一个明:如果一个.c文件不需要文件不需要对外公布任何接口,外公布任何接口,则其就不其就不应当当存在,除非它是程序的入口,如存在,除非它是程序的入口,如main函数所在的文件。函数所在的文件。 有些特有些特别简单别简单的的头头文件,如命令文件,如命令ID定定义头义头文件,不需要有文件,不需要有对应对应的的.c存在。存在。 英文标题:32-35pt 颜色: R153 G0 B0内

24、部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.1 头文件 l规则1.2 禁止禁止头文件循文件循环依依赖。l说明:头文件循环

25、依赖,指a.h包含b.h,b.h包含c.h,c.h包含a.h之类导致任何一个头文件修改,都导致所有包含了a.h/b.h/c.h的代码全部重新编译一遍。而如果是单向依赖,如a.h包含b.h,b.h包含c.h,而c.h不包含任何头文件,则修改a.h不会导致包含了b.h/c.h的源代码重新编译。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerN

26、ext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.1 头文件 l规则1.3 .c/.h文件禁止包含用不到的文件禁止包含用不到的头文件。文件。 l说明:很多系统中头文件包含关系复杂,开发人员为了省事起见,可能不会去一一钻研,直接包含一切想到的头文件,甚至有些产品干脆发布了一个god.h,其中包含了所有头文件,然后发布给各个项目组使用,这种只图一时省事的做法,导致整个系统的编译时

27、间进一步恶化,并对后来人的维护造成了巨大的麻烦。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户

28、或者合作伙伴的标志放在右上角.1 头文件 l规则1.4 头文件文件应当自包含。当自包含。 l说明:简单的说,自包含就是任意一个头文件均可独立编译。如果一个文件包含某个头文件,还要包含另外一个头文件才能工作的话,就会增加交流障碍,给这个头文件的用户增添不必要的负担。l示例:如果a.h不是自包含的,需要包含b.h才能编译,会带来的危害:每个使用a.h头文件的.c文件,为了让引入的a.h的内容编译通过,都要包含额外的头文件b.h。l额外的头文件b.h必须在a.h之前进行包含,这在包含顺序上产生了依赖。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext L

29、T Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.1 头文件 l规则1.5 总是是编写内部写内部#include保保护符(符(#define 保保护)。 l说明:多次包

30、含一个头文件可以通过认真的设计来避免。如果不能做到这一点,就需要采取阻止头文件内容被包含多于一次的机制。l通常的手段是为每个文件配置一个宏,当头文件第一次被包含时就定义这个宏,并在头文件被再次包含时使用它以排除文件内容。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18

31、-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.1 头文件 l规则1.6 禁止在禁止在头文件中定文件中定义变量。量。l说明:在头文件中定义变量,将会由于头文件被其他.c文件包含而导致变量重复定义。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级

32、) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.1 头文件 l规则1.7 只能通只能通过包含包含头文件的方式使用其他文件的方式使用其他.c提供的提供的接口,禁止在接口,禁止在.c中通中通过extern的方式使用外部函数接口、的方式使用外部函数接口、变量。量。 l说明:若a.c使用了b.c定义的foo()函数,则应当

33、在b.h中声明extern int foo(int input);并在a.c中通过#include 来使用foo。禁止通过在a.c中直接写extern int foo(int input);来使用foo,后面这种写法容易在foo改变时可能导致声明和定义不一致。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外

34、部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.1 头文件 l规则1.7 只能通只能通过包含包含头文件的方式使用其他文件的方式使用其他.c提供的提供的接口,禁止在接口,禁止在.c中通中通过extern的方式使用外部函数接口、的方式使用外部函数接口、变量。量。 l说明:若a.c使用了b.c定义的foo()函数,则应当在b.h中声明extern int foo(int input);并在a.c中通过#inc

35、lude 来使用foo。禁止通过在a.c中直接写extern int foo(int input);来使用foo,后面这种写法容易在foo改变时可能导致声明和定义不一致。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色

36、字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.1 头文件 l规则1.8 禁止在禁止在extern “C”中包含中包含头文件。文件。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Aria

37、l中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.2 略l略略 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文

38、正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.3 标识符l原原则3.1 标识符的命名要清晰、明了,有明确含符的命名要清晰、明了,有明确含义,同,同时使用完整的使用完整的单词或大家基本可以理解的或大家基本可以理解的缩写,避免写,避免使人使人产生生误解。解。 l说明:尽可能给出描述性名称,不要节约空间,让别人很快理解你的代码更重要。l示例:好的命名: 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :Frutige

39、rNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.3 标识符l原原则3.2 除了常除了常见的通用的通用缩写以外,不使用写以外,不使用单词缩写,写,不得使用

40、不得使用汉语拼音。拼音。l说明:较短的单词可通过去掉“元音”形成缩写,较长的单词可取单词的头几个字母形成缩写,一些单词有大家公认的缩写,常用单词的缩写必须统一英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体

41、配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.4 略l略略 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参

42、考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.5 宏l规则5.1 用宏定用宏定义表达式表达式时,要使用完,要使用完备的括号。的括号。 l说明:因为宏只是简单的代码替换,不会像函数一样先将参数计算后,再传递。l#define RECTANGLE_AREA(a, b) (a * b) l则c/RECTANGLE_AREA(a, b) 将扩展成c/a * b , c 与b 本应该是除法运算,结果变成了乘法运算,造成错误。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext

43、 LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.5 宏l规则5.2 将宏所定将宏所定义的多条表达式放在大括号中。的多条表达式放在大括号中。l说明:更好的方法是多条

44、语句写成do while(0)的方式。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙

45、伴的标志放在右上角.5 宏l规则5.3 使用宏使用宏时,不允,不允许参数参数发生生变化。化。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案

46、,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.5 宏l规则5.45.4不允不允许直接使用魔鬼数字。直接使用魔鬼数字。 l说明:使用魔鬼数字的弊端:代明:使用魔鬼数字的弊端:代码难以理解;如果一个有含以理解;如果一个有含义的的数字多数字多处使用,一旦需要修改使用,一旦需要修改这个数个数值,代价惨重。,代价惨重。 l使用明确的物理状使用明确的物理状态或物理意或物理意义的名称能增加信息,并能提供的名称能增加信息,并能提供单一的一的维护点。点。 l解决途径:解决途径: l对于局部使用的唯一含于局部使用的唯一含义的魔鬼数字,可以在代的魔鬼数字,可以在代码周周围增加增加说明明注

47、注释,也可以定,也可以定义局部局部const变量,量,变量命名自注量命名自注释。 l对于广泛使用的数字,必于广泛使用的数字,必须定定义const全局全局变量量/宏;同宏;同样变量量/宏宏命名命名应是自注是自注释的。的。 l0作作为一个特殊的数字,作一个特殊的数字,作为一般默一般默认值使用没有歧使用没有歧义时,不用特,不用特别定定义。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt

48、颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.6-8 略l略略 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜

49、色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.9 排版与格式 l规则9.1 程序程序块采用采用缩进风格格编写,每写,每级缩进为4个空个空格。格。 l说明:当前各种编辑器/IDE都支持TAB键自动转空格输入,需要打开相关功能并设置相关功能。l编辑器/IDE如果有显示TAB的功能也应该打开,方便及时纠正输入错误。lIDE向导生成的代码

50、可以不用修改。l宏定义、编译开关、条件预处理语句可以顶格(或使用自定义的排版方案,但产品/模块内必须保持一致)。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,

51、以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.9 排版与格式 l规则9.2 相相对独立的程序独立的程序块之之间、变量量说明之后必明之后必须加加空行。空行。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(

52、2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.9 排版与格式 l规则9.3 一条一条语句不能句不能过长,如不能拆分需要分行写。,如不能拆分需要分行写。一行到底多少字符一行到底多少字符换行比行比较合适,合适,产品可以自行确定品可以自行确定 l说明:对于目前大多数的PC来说,132比较合适(80/132是VTY常见的行宽值);对于新PC宽屏显示器较多的产品来说,可以设置更大的值。l换行时有如下建议:a.换行时要增加一级缩进,使代码可读性更好;b.低优先级操作符处

53、划分新行;换行时操作符应该也放下来,放在新行首;c.换行时建议一个完整的语句放在一行,不要根据字符数断行 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是1

54、3组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.9 排版与格式 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组

55、配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.9 排版与格式 l规则9.4 多个短多个短语句(包括句(包括赋值语句)不允句)不允许写在同一写在同一行内,即一行只写一条行内,即一行只写一条语句。句。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中

56、文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.9 排版与格式 l规则9.5 if、for、do、while、case、switch、default等等语句独占一行。句独占一行。 l说明:执行语句必须用缩进风格写,属于if、for、do、while、case、switch、default等下一个缩进级别;l一般写if、for、do、while等语句都会有成对出现的,对此有如下建议可以参考:lif、for、do、while等语句后的

57、执行语句建议增加成对的;l如果if/else配套语句中有一个分支有,那么令一个分支即使一行代码也建议增加;l添加的位置可以在if等语句后,也可以独立占下一行;独立占下一行时,可以和if在一个缩进级别,也可以在下一个缩进级别;但是如果if语句很长,或者已经有换行,建议使用独占一行的写法。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNex

58、t LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.9 排版与格式 l规则9.6 在两个以上的关在两个以上的关键字、字、变量、常量量、常量进行行对等操等操作作时,它,它们之之间的操作符之前、之后或者前后要加空的操作符之前、之后或者前后要加空格;格;进行非行非对等操作等操作时,如果是关系密切的立即操作,如果是关系密切的立即操作符(如符(如),后不),后不应加空格。加空格。l说明:采用

59、这种松散方式编写代码的目的是使代码更加清晰。l在已经非常清晰的语句中没有必要再留空格,如括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为在C语言中括号已经是最清晰的标志了。l在长语句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部不加空格。给操作符留空格时不要连续留两个以上空格。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使

60、用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.9 排版与格式 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字

61、体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.9 排版与格式 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体

62、:FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.9 排版与格式 l建建议9.1 注注释符(包括符(包括/*/*/)与注)与注释内容之内容之间要要用一个空格用一个空格进行分隔。行分隔。 l说明:这样可以使注释的内容部分更清晰。l现在很多工具都可以批量生成、删除/注释,这样有空格也比较方便统一处理。l建建议9.2 源程序中关系源程序中关系较为紧密的代密的代码

63、应尽可能相尽可能相邻。 英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上

64、角.10 在定点处理器中的浮点运算 l在控制算法中,通常会碰到浮点数在控制算法中,通常会碰到浮点数l例如:题目要求输出电压达到例如:题目要求输出电压达到25.86V时,产生过压报时,产生过压报警,你的程序如何计算?警,你的程序如何计算?英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial

65、中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.10 在定点处理器中的浮点运算 l在控制算法中,通常会碰到浮点数在控制算法中,通常会碰到浮点数l例如:题目要求输出电压达到例如:题目要求输出电压达到2.86V时,产生过压报警,你的程序时,产生过压报警,你的程序如何计算?如何计算?l1.对输出电压进行采样得到对输出电压进行采样得到ADvalue = 3905;l2.计算真实电压值:计算真实电压值:Vo= (ADvalue / 409

66、6) * 3.0 = 2.8601;l3.if(Vo = 2.86)l l ProtectProcess();l l上述方法出现了好几处浮点运算,一般比赛程序比较大,一旦使上述方法出现了好几处浮点运算,一般比赛程序比较大,一旦使用这种方法,必然使工程中出现大量的浮点运算。用这种方法,必然使工程中出现大量的浮点运算。该怎么做?该怎么做?英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt

67、颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.10 在定点处理器中的浮点运算 l1.对输出电压进行采样得到对输出电压进行采样得到ADvalue = 3905;l1.对输出电压进行采样得到对输出电压进行采样得到ADvalue = 3905;人工(或者编译器);人工(或者编译器)事先计算事先计算2.86V电压对应的电压对应的ADva

68、lueProtect = 3904;l2.计算真实电压值:计算真实电压值:Vo= (ADvalue / 4096) * 3.0 = 2.8601;l2.不做这一步不做这一步l3.if(Vo = 2.86)l l ProtectProcess();l l3.if(ADvalue = ADvalueProtect )l.英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :FrutigerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用

69、字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.10 在定点处理器中的浮点运算 l若仍需要计算真实电压值以便进行显示,则可以:若仍需要计算真实电压值以便进行显示,则可以:l1.定义浮点变量,然后计算真实电压值:定义浮点变量,然后计算真实电压值:Vo= (ADvalue / 4096) * 3.0 = 2.8601;(错误方法!错误方法!)l2.定义

70、整型变量,然后计算真实电压值:定义整型变量,然后计算真实电压值:Vo= (ADvalue / 4096) * 3.0 = ?l3.定义整型变量,然后计算真实电压被放大定义整型变量,然后计算真实电压被放大1000倍(看需要选择倍(看需要选择放大倍数)值:放大倍数)值:Vo= ((ADvalue * 1000) / 4096) * 3.0 = 2860 10000倍呢?倍呢? Vo= ((ADvalue * 10000 ) / 4096) * 3.0 = 28601l现在会在现在会在LCD上显示真实值吗?上显示真实值吗?英文标题:32-35pt 颜色: R153 G0 B0内部使用字体 :Frut

71、igerNext LT Medium外部使用字体 : Arial中文标题:30-32pt 颜色: R153 G0 B0字体:黑体英文正文:20-22pt子目录 (2-5级) :18pt 颜色:黑色内部使用字体 :FrutigerNext LT Regular外部使用字体 : Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.10 在定点处理器中的浮点运算 l更严格的要求是采用更严格的要求是采用 Qn格式进行计算,感兴趣的同学自己查阅相格式进行计算,感兴趣的同学自己查阅相关资料,其原理也是对浮点数进行放大处理,需要记住小数点位关资料,其原理也是对浮点数进行放大处理,需要记住小数点位置。置。作为比赛,可以采用前述简单方法以避免浮点运算。作为比赛,可以采用前述简单方法以避免浮点运算。Thank you

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号