作为一个程序猿,在编程过程中不可避免的要对变量命名,这个时候就需要掌握几种常见的命名规则,及常用单词的缩写,故从网上整理了一篇资料,以飨读者!(✿◡‿◡) 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说明了它的型态,后面的和帕斯卡命名相同,指示了该变量的用途。

命名的基本原则

(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

 

Overflow

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

 

本文分享自微信公众号 - 浩Coding(gh_c4a2e63d2ca7),作者:浩

原文出处及转载信息见文内详细说明,如有侵权,请私信删除。

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐