作为一个程序猿,在编程过程中不可避免的要对变量命名,这个时候就需要掌握几种常见的命名规则,及常用单词的缩写,故从网上整理了一篇资料,以飨读者!(✿◡‿◡) O(∩_∩)O哈!
命名规则:
目前,业界共有四种命名法则:驼峰命名法、匈牙利命名法、帕斯卡命名法和下划线命名法,其中前三种是较为流行的命名法。 (1)驼峰命令法。正如它的名称所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数: printEmployeePaychecks(); print_employee_paychecks(); 第一个函数名使用了驼峰命名法,函数名中的每一个逻辑断点都有一个大写字母来标记。第二个函数名使用了下划线法,函数名中的每一个逻辑断点都有一个下划线来标记。 驼峰命名法近年来越来越流行了,在许多新的函数库和Microsoft Windows这样的环境中,它使用得当相多。另一方面,下划线法是C出现后开始流行起来的,在许多旧的程序和UNIX这样的环境中,它的使用非常普遍。 (2)匈牙利命名法。广泛应用于象Microsoft Windows这样的环境中。Windows 编程中用到的变量(还包括宏)的命名规则为匈牙利命名法,这种命名技术是由一位能干的 Microsoft 程序员查尔斯-西蒙尼(Charles Simonyi) 提出的。 匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域、类型等。这些符号可以多个同时使用,顺序是先m_(成员变量)、再指针、再简单数据类型、再其它。这样做的好处在于能增加程序的可读性,便于对程序的理解和维护。 例如:m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。 匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。 (3)帕斯卡(Pascal)命名法。与驼峰命名法类似,二者的区别在于:驼峰命名法是首字母小写,而帕斯卡命名法是首字母大写,如: DisplayInfo(); string UserName; 二者都是采用了帕斯卡命名法。 (4)三种命名规则的小结:MyData就是一个帕斯卡命名的示例;myData是一个驼峰命名法,它第一个单词的第一个字母小写,后面的单词首字母大写,看起来像一个骆驼;iMyData是一个匈牙利命名法,它的小写的i说明了它的型态,后面的和帕斯卡命名相同,指示了该变量的用途。 3.2 命名的基本原则 (1)标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解——尽量采用采用英文单词或全部中文全拼表示,若出现英文单词和中文混合定义时,使用连字符“_”将英文与中文割开。较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词的头几个字母形成缩写;一些单词有大家公认的缩写。例如:temp->tmp、flag->flg、statistic->stat、increment->inc、message->msg等缩写能够被大家基本认可。 (2)命名中若使用特殊约定或缩写,则要有注释说明。应该在源文件的开始之处,对文件中所使用的缩写或约定,特别是特殊的缩写,进行必要的注释说明。 (3)命名规范必须与所使用的系统风格保持一致,并在同一项目中统一。 (4)对于变量命名,禁止取单个字符(如i 、j 、k... ),建议除了要有具体含义外,还能表明其变量类型、数据类型等,但i 、j 、k 作局部循环变量是允许的。变量,尤其是局部变量,如果用单个字符表示,很容易敲错(如i写成j),而编译时又检查不出来,有可能为了这个小小的错误而花费大量的查错时间。
1、大于2个单词则采用缩写规则,否则不用缩写。
2、缩写的规则采用国际惯用方法:
元音字母剔除法,首字母除外。
使用单词的头一个或几个字母。 组合单词使用如下规则: 3、使用变量名中每个有典型意义的单词。如Count of Failure写成FailCnt。 4、去掉无用的单词后缀 ing, ed等。如Paging Request写成PagReq。
编程单词缩写字典
序号
描述
缩写词
A
Addition
Add
Accumulator
Acc
Address
Addr
Action
Act
Active
Act
Amplitude
Amp
Analog Input
AI
Anolog I/O
AIO
All
All
Alarm
Alm
Allocate
Alloc
Analog Output
AO
Apparent
App
Argument
Arg
Arrange
Arrng
Array
Array
Assemble
Asm
Attribute
Attrib
B
Bar
Bar
Bit
Bit
Block
Blk
Buffer
Buf
Button
Btn
Bypass
Bypass
C
Calibration
Cal
Calculate
Calc
Configuration
Cfg
Channel
Ch
Change
Chg
Check
Chk
Clock
Clk
Clear
Clr
Clear Screen
Cls
Command
Cmd
Compare
Cmp
Complete
Comp
Count
Cnt
Counter
Ctr
Column
Col
Communication
Comm
Connect
Con
Construct
Cons
Control
Ctrl
Context
Ctx
Convert
Conv
Copy
Cp
Current
Cur
Cursor
Csr
Control Word
CW
D
Date
Date
Day
Day
Debounce
Debounce
Decrease
Dec
Decimal
Dec
Decode
Decode
Define
Def
Degree
Deg
Delete
Del
Destination
Dst
Descriptor
Desc
Device
Dev
Discrete Input
DI
Digit
Dig
Discrete I/O
DIO
Discrete Output(s)
DO
Disable
Dis
Display
Disp
Discovery
Disc
DiVision
Div
Divisor/Division
Div
Delay
Dly
Day-of-week
DOW
Down
Down
Dummy
Dummy
Dynamic
Dyn
E
Edge
Edge
Effective
Eff
Electric
Elec
Empty
Empty
Enable
En
Engine
Eng
Enter
Enter
Entries
Entries
Equivalent
Equiv
Error(s)
Err
Ethernet
Eth
Engineering Units
EU
Event(s)
Event
Extension
Ext
Exit
Exit
Exception
Exc
Expiration
Exp
Exponent
Exp
F
Field
Fld
Flag
Flag
Flush
Flush
Function(s)
Fnct
Format
Format
Fraction
Fract
Free
Free
Frequency
Freq
Full
Full
G
Gain
Gain
Get
Get
Generate
Gen
Group(s)
Grp
H
Handler
Handler
Harmonic
Harm
Hexadecimal
Hex
High
Hi
History
Hist
Hit
Hit
High Priority Task
HPT
Hour(s)
Hr
I
I.D.
Id
Idle
Idle
Impulse
Imp
Input(s)
In
Initialization
Init
Initialize
Init
Instruction
Instr
Interrupt
Int
Invert
Inv
Interrupt Service Routine
ISR
Index
Ix
K
Key
Key
Keyboard
Key
L
Length
Len
Limit
Lim
List
List
Low
Lo
Lower
Le
Lowest
Lo
Lock
Lock
Low Priority Task
LTP
M
Magnitude
Mag
Mantissa
Man
Manual
Man
Manufacture
Mfg
Maximum
Max
Mailbox
Mbox
Minimum
Min
Mode
Mode
Month
Month
Move
Mov
Message
Msg
Measure
Meas
Mask
Msk
Multiplication
Mul
Multiplex
Mux
Make
Mk
N
Negative
Neg
Number of
Num
Nesting
Nesting
Neutral
Neut
New
New
Next
Next
O
Offset
Offset
Old
Old
Operation System
OS
Optimize
Opt
Original
Orig
Output
Out
Ovf
P
Package
Pkg
Parameter
Param
Pass
Pass
Performance
Perf
Period
Per
Phase
Ph
Port
Port
Position
Pos
Positive
Pos
Power
Pwr
Previous
Prev
Priority
Prio
Printer
Prt
process
Proc
Product
Prod
Protocol
Prot
Pointer
Ptr
Put
Put
Q
Queue
Q
Quality
Qlty
Quarter
Quar
R
Raw
Raw
Reactive
React
Recall
Rcl
Rectangle
Rect
Read
Rd
Ready
Rdy
Reference
Ref
Register
Reg
Request
Req
Reset
Reset
Reserve
Resv
Resume
Resume
Response
Resp
Return
Rtn
Reverse
Revs
Ring
Ring
Row
Row
Repeat
Rpt
Real-Time
RT
Running
Running
Receive
Rx
S
Sample
Smp
Scale
Scale
Scale Factor
SF
Scaling
Scaling
Scan
Scan
Schedule
Sched
Scheduler
Sched
Screen
Scr
Second(s)
Sec
Segment(s)
Seg
Select
Sel
Semaphore
Sem
Sequence
Seq
Server
Svr
Set
Set
Setting
Setting
Signal
Sig
Size
Size
Seven-segments
SS
Sourse
Src
Start
Start
Statistic(s)
Stat
Status
Stat
Stack
Stk
Standard
Std
Stop
Stop
String
Str
Subtraction
Sub
Suspend
Suspend
Switch
Sw
Synchronize
Synch
System
Syst
T
Task
Task
Table
Tbl
Threshold
Th
Tick
Tick
Time
Time
Timer
Tmr
Toggle
Tgl
Total
Tot
Trigger
Trig
Time-stamp
TS
Timeout
TO
U
Unlock
Unlock
Up
Up
Update
Update
Utility
Util
V
Value
Val
Vector
Vect
Version
Ver
Variable
Var
Visible
Vis
Voltage
Vol
W
Watchdog
Wdog
Write
Wr
Y
Year
Year
参考文章:
https://blog.csdn.net/jiangjunjie_2005/article/details/23130891
https://blog.csdn.net/New_new_zero/article/details/79046107
https://blog.csdn.net/haizhongyun/article/details/8131847
http://www.cnblogs.com/wfwenchao/p/5209197.html