数值类型与指针类型叫标量类型,数组类型与结构类型叫聚集类型
采用下划线命名法:前缀类型_变量名
前缀 |
说明 |
备注 |
l |
局部变量 |
|
g |
全局变量 |
|
s |
静态局部变量 |
|
c |
常量 |
|
类型 |
说明 |
备注 |
b |
布尔变量 |
BOOL |
c |
有符号8位数据;字节 |
INT8S |
by |
无符号8位数据;字节 |
INT8U |
i |
有符号16位数据;字 |
INT16S |
w |
无符号16位数据;字 |
INT16U |
l |
有符号32位数据;双字 |
INT32S |
dw |
无符号32位数据;双字 |
INT32U |
f |
单精度浮点数 |
FP32 |
d |
双精度浮点数 |
FP64 |
h |
句柄 |
|
p |
指针 |
|
lp |
长指针 |
|
a |
数组 |
|
s |
字符串 |
|
sz |
NULL结束的字符串 |
|
enm |
枚举型 |
|
scm |
结构体 |
|
uni |
联合体 |
|
xy |
x,y坐标 |
|
pfn |
特别针对指向函数的指针变量和函数对象指针 |
pointer of function |
下划线命名法
例如:
定义一个无符号8位数据: INT8U lby_dat;
定义一个有符号32位数据: INT32S ll_dat;
定义一个指针: INT8U *lp_reg;
定义一个数组: INT8U la_reg[20];
定义一个字符串: INT8U *ls_str= {“wzt”};
定义一个全局无符号8位数据: INT8U gby_dat;
大写字母+下划线的方法(形参,结构体联合体内部变量不参考)
typedef struct student_info_tag
{
INT8U number;
INT8U name[10];
INT16U achi;
}scm_student_info;
struct student_info_tag lscm_student_info;
struct student_info_tag *lpscm_student_info;
struct student_info_tag lascm_student_info[10];
枚举(enumerated)类型就是指其值为符号常量而不是字面值的类型;
声明:
typedef enum date_tag
{
DATE_MONDAY,
DATE_TUESDAY,
DATE_WEDNESDAY,
DATE_THURSDAY,
DATE_FRIDAY,
DATE_SATURDAY= 10,
DATE_SUNDAY
}enm_date;
enum date_tag lenm_date;
默认第一个符号名的值为0;第二个是1,以此类推,若某个符号名未显示指定一个值,那么他的值比前一个符号名的值大1;
typedef union value_tag
{
INT8U value;
INT16U value;
INT32U value;
FP32 value;
}uni_value;
union value_tag luni_value;
采用下划线命名法
1) 局部函数命名
uart_print_enter();
2) 全局函数命名
g_uart_print_enter();
编号 |
英文 |
中文 |
缩写 |
编号 |
英文 |
中文 |
缩写 |
01 |
addition |
加法 |
add |
01 |
float |
浮点 |
flt |
02 |
answer |
回答 |
ans |
02 |
frequency |
频率 |
freq |
03 |
array |
数组 |
arr |
03 |
header |
数据头 |
hdr |
04 |
average |
平均数 |
avg |
04 |
index |
索引 |
idx |
05 |
buffer |
缓冲区 |
buff |
05 |
image |
图片 |
img |
06 |
capture |
捕捉 |
cap |
06 |
increment |
自增 |
inc |
07 |
check |
检查 |
chk |
07 |
initalize |
初始化 |
init |
08 |
count |
计数 |
cnt |
08 |
iteration |
重复 |
itr |
09 |
column |
列 |
col |
09 |
length |
长度 |
len |
10 |
control |
控制 |
ctl |
10 |
memory |
内存 |
mem |
11 |
decode |
解码 |
dec |
11 |
middle |
中间的 |
mid |
12 |
encode |
编码 |
enc |
12 |
make |
制造 |
mk |
13 |
define |
定义 |
def |
13 |
message |
消息 |
msg |
14 |
delete |
删除 |
del |
14 |
multiplication |
乘法 |
mul |
15 |
destination |
目标 |
dest |
15 |
number |
数字 |
num |
16 |
display |
显示 |
disp |
16 |
operand |
操作数 |
opnd |
17 |
division |
除法 |
div |
17 |
optimization |
优化 |
opt |
18 |
environment |
环境 |
env |
18 |
operator |
运算符 |
optr |
19 |
error |
错误 |
err |
19 |
packet |
数据包 |
pkt |
20 |
positon |
正电子 |
pos |
20 |
subtraction |
减法 |
sub |
21 |
previous |
先前的 |
prev |
21 |
table |
表格 |
tab |
22 |
payload type |
有效负载 |
pt |
22 |
temporary |
临时 |
tmp |
23 |
pointer |
指针 |
ptr |
23 |
total |
合计 |
tot |
24 |
return |
返回 |
ret |
24 |
data |
数据 |
dat |
25 |
record |
记录 |
rcd |
25 |
value |
值 |
val |
26 |
receive |
接收 |
recv |
26 |
time stamp |
时间戳 |
ts |
27 |
result |
结果 |
res |
27 |
|
|
|
28 |
source |
来源 |
src |
28 |
|
|
|
29 |
stack |
堆栈 |
stk |
29 |
|
|
|
30 |
string |
字符串 |
str |
30 |
|
|
|
add |
remove |
|
first |
last |
|
add |
delete |
begin |
end |
|
get |
release |
|
lock |
unlock |
create |
destroy |
|
increment |
decrement |
|
open |
close |
insert |
delete |
|
put |
get |
|
min |
max |
start |
stop |
|
next |
previous |
|
source |
target |
show |
hide |
|
send |
receive |
|
source |
destination |
cut |
paste |
|
up |
down |
|
|
|
使用此运算符时,把常量写在左边;
example:
if (0 == lby_value){;}
1) 相对独立的程序块之间、变量说明之后必须加空行
2) 注释应与其描述的代码相近,对代码的注释应放在其上方或右方(对单条语句的注释)相邻位置,不可放在下面
3) 全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。
4) 在程序块的结束行右方加注释标记,以表明某程序块的结束;
while (index 5) 避免使用不易理解的数字,用有意义的标识来替代。涉及物理状态或者含有物理意义的常量,不应直接使用数字,必须用有意义的枚举或宏来代替 6) Create 表示创建, Modify 表示修改, Access 表示访问。 7) 一个函数仅完成一件功能,不要设计多用途面面俱到的函数 8) 设计高扇入、合理扇出(小于 7)的函数。扇出是指一个函数直接调用(控制)其它函数的数目,而扇入是指有多少上级函数调用它。 9) 循环体内工作量最小化 1.6 注释