C语言基础--编写风格1

 


 

1       C 语言编写风格

1.1             变量名定义

数值类型与指针类型叫标量类型,数组类型与结构类型叫聚集类型

1.1.1       变量

采用下划线命名法:前缀类型_变量名

1.1.1.1  前缀

前缀

说明

备注

l

局部变量

 

g

全局变量

 

s

静态局部变量

 

c

常量

 

1.1.1.2  类型

类型

说明

备注

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

1.1.1.3  变量名

下划线命名法

例如:

定义一个无符号8位数据:                 INT8U       lby_dat;

定义一个有符号32位数据:               INT32S     ll_dat;

定义一个指针:                               INT8U       *lp_reg;

定义一个数组:                               INT8U       la_reg[20];

定义一个字符串:                            INT8U       *ls_str= {“wzt”};

定义一个全局无符号8位数据:          INT8U       gby_dat;

1.1.2       宏命名

大写字母+下划线的方法(形参,结构体联合体内部变量不参考)

1.1.3       结构体

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];

1.1.4       枚举

枚举(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;

 

1.1.5       联合体

typedef union value_tag

{

         INT8U      value;

         INT16U    value;

         INT32U    value;

         FP32       value;

}uni_value;

union  value_tag  luni_value;

1.2             函数名定义

采用下划线命名法

 

1)      局部函数命名

uart_print_enter();

2)      全局函数命名

g_uart_print_enter();

1.3             常用单词缩写

编号

英文

中文

缩写

编号

英文

中文

缩写

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

 

 

 

 

1.4             变量或函数命名时常用的反义词组

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

 

 

 

 

1.5             一些注意的地方

1.5.1       ==

使用此运算符时,把常量写在左边

example:

if (0 == lby_value){;}

1.5.2        

1)      相对独立的程序块之间、变量说明之后必须加空行

2)      注释应与其描述的代码相近,对代码的注释应放在其上方或右方(对单条语句的注释)相邻位置,不可放在下面

3)      全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。

4)      在程序块的结束行右方加注释标记,以表明某程序块的结束;

while (index

5)      避免使用不易理解的数字,用有意义的标识来替代。涉及物理状态或者含有物理意义的常量,不应直接使用数字,必须用有意义的枚举或宏来代替

6)      Create 表示创建, Modify 表示修改, Access 表示访问。

7)      一个函数仅完成一件功能,不要设计多用途面面俱到的函数

8)      设计高扇入、合理扇出(小于 7)的函数。扇出是指一个函数直接调用(控制)其它函数的数目,而扇入是指有多少上级函数调用它。

9)      循环体内工作量最小化

 

 

 

1.6             注释

 


你可能感兴趣的:(编程基础)