变量名尽量使用具有说明性的名称,避免使用 a,b,c,x,y,z 等无意义字符。使用范围大的变量,如全局变量,更应该有一个说明性的名称。变量名尽量使用名词,长度控制在1~4个单词最佳。若名称包含多个单词,每个单词首字母大写以便区分单词,例如:
int InputVoltage; //输入电压
int Temperature; //温度
当单词间必须出现空格才好理解的时候,可以用下划线’_’替代空格:
int Degree_C; //摄氏度
int Degree_F; //华氏度
当单词较长的时候,可以适当简写:
int NumOfInputChr; //输入字符数
int InputChrCnt; //输入字符数
int Deg_F; //华氏度
char ADC_Status; // ADC 的状态
char BT_IntervalFlag; // BasicTimer 定时到达标志
int UART_RxCharCnt; // 串口收到的字符总数
unsigned int ADC16_Sample(); //16 位 ADC 采样
char LCD_Init(); //LCD 初始化
char RTC_GetVal(); //获取实时钟的数据
void PWM_SetPeriod(); //设置 PWM 周期
void PWM_SetDuty(); //设置 PWM 占空比
void Flash_WriteChar(); //向 Flash 写入一字节数据
char UART_GetChar(); //从串口读取一字节数据
char Key_GetKey(); //从键盘读取一次按键
char TouchPad_GetKey(); //从触摸板读取一次按键
char UART_CheckTxBuff(); //不恰当的函数名
char UART_IsTxBuffFull(); //意义明确的函数名
if(!(RxCharNum<20)||(!(RxCharNum>=16)) //晦涩的表达式
if((RxCharNum>=20)||(RxCharNum<16)) //清晰的表达式
SubKey=SubKey>>(Bits-(Bits/8)*8); //难懂的表达式
SubKey=SubKey >> (Bits & 0x07); //清晰的表达式
SubKey >>= (Bits & 0x07); //清晰的表达式
SubKey >>= (Bits%8); //清晰的表达式
if(UART_IsTxBuffFull()) UART_ClearTxBuff();
else UART_PutChar(0x55);
for(i=0;i<100;i++){
for(j=0;j<200;j++){ //括号配对风格 1
...
}
}
while(a==b){
if(c==d){ //括号配对风格 1
...
}
else{
...
}
}
for(i=0;i<100;i++)
{ //括号配对风格 2for(j=0;j<200;j++)
{
...
}
}
while(a==b)
{
if(c==d)
{ //括号配对风格 2
...
}
else
{
...
}
}
for(i=6;i>DOT;i--) //从第 6 位(最高位)到小数点之间依次递减
{
if (DispBuff[i]==0) DispBuff[i]=’ ’; //如果该位数值是 0,则替换成空格else break; //如果不是,则跳出循环
}
for(i=6;i>DOT;i--)
{
if (DispBuff[i]==0) DispBuff[i]=’ ’; //消隐显示数据小数点前的无效 0else break;
}
#define TXBUFF_SIZE (128) /*发送缓冲大小*/
#define LCM_ROW (64) /*点阵液晶行数*/
#define LCM_CLUMN (128) /*点阵液晶列数*/
#define LCM_BUF_SIZE (LCD_CLUMN*LCD_ROW/8) /*点阵液晶缓冲区大小*/
unsigned char TxBuff[TXBUFF_SIZE]; //定义发送缓冲区char IsTxBuffFull()
{
if(NumOfTxChars>=TXBUFF_SIZE) return(1); //缓冲区是否满?else return(0);
}
#define VOLT_RATE (1000) /*比例系数*/
...
int Voltage;
int InputValue;
...
Voltage=InputValue*VOLT_RATE; //可能溢出
#define VOLT_RATE ((long)1000) /*比例系数,强整成 long*/