题目:规范化和模块化编程
0引言
通过一年多的编程经历,经常会为杂乱无章的程序弄的晕头转向,影响编程质量和进度。同时也为了程序的可移植性和可读性,规范化和模块化编程应该在开始编写的第一个程序时就要有规范化和模块化编程的思想,并在实践中运用,养成规范化和模块化编程的好习惯。
1规范化编程
谈到规范性编程这里我们是在符合c语言基本运用原理的基础上加以说明,以下我们主要讲以下几个方面:
1.1 定义一个自己config.h文件
首先我把我使用的config文件列出:
typedef signed char S8;
typedef signed int S16;
typedef signed long S32;
typedef unsigned char u8;
typedef unsigned int u16;
typedef unsigned long u32;
typedef volatile signed char vS8;
typedef volatile signed int vS16;
typedef volatile signed long vS32;
typedef volatile unsigned char
vu8;
typedef volatile unsigned
int vu16;
typedef volatile unsigned long
vu32;
typedef const u8 FLASH;
typedef enum{FALSE=0,TRUE=!FALSE}
BOOL;
为什么要定义一个自己的这样一个文件,主要有两个原因:
eq \o\ac(○,1)1节约编程时间
eq \o\ac(○,2)2更高的可移植性
同样也是为本工程形成一种规范,这是一种局部规范,读者可以定义一个适合自己的config文件。
1.2 变量名的选取
首先要知道变量名的组成成分:字母,下划线,数字;而且要注意的是数字不能作为开头,并且字母区分大小写,下划线主要的功能用于分隔两个有意义的单词或者是区别形参和实参等用途。
其次就是怎么正确选择的问题了,在开始编程时大家都可能喜欢用a,b,c等简单字母作为变量名,这样只是单纯的定义了一个变量,读者并不能从中获取很多信息量,比如这个变量的用途等。所以为了能表达的更准确并能获得更多的信息量,应该选取有意义的英文单词或者中文拼音,可以用下划线作为单词之间,也可使用首字母大写区分,具体可根据个人编程习惯。
例:取一个关于定时器定时计数的变量,可以有以下几种模式(仅供参考):
eq \o\ac(○,1)1U16 TimerCounter;
eq \o\ac(○,2)2U16 timer_counter;
这样选取的变量名不仅达到了有意义的要求,而且更美观。从接触C到开始编程就要养成一个良好的习惯,选取变量名是往往程序首先要做的事,所以变量名的选取也是规范化编程的第一步,很关键。
1.3 与硬件资源相关用define去定义
在说明这个问题之前,我们先看个例子:
#include