当前位置:网站首页>Twelve rules for naming variables
Twelve rules for naming variables
2022-07-06 07:09:00 【Ana_ ing】
General rules
Rule one
Intuitively, you can spell , Look at the text and know the meaning , Easy to remember , Use English words or combinations , Pinyin is not recommended , English words should not be too complicated , It is recommended to use the abbreviation
Rule 2
The variable length conforms to “min_length && max_information”, such as Max_value Replace maxvalueuntiloverflow, Longer words can be abbreviated by removing vowels
Rule three
When the identifier consists of more than one word , The first letter of each word should be capitalized , The rest are in lowercase
for example int CurrentVal; // It looks clear and understandable
Rule 4
Try to avoid numbers in names , For example, I used to like to use value1,value2,value3 wait , Unless it is logically necessary , Like driver development and pins , Numbering is easier to use
Rule five
Global variables or functions that are commonly used among multiple files must be marked with a range limiting symbol ,( It is recommended to use the module abbreviation as the scope qualifier )
Rule 6
Symbol naming has two parts , Specification identifier prefix ( suffix )+ Meaning identification , Global variables to g or g+ Module abbreviation ( Capitalization ) Prefix , Variable names followed by the first capital letter .C The global variable in is an unstable factor , Be alert , Use prefix to explicitly identify variables as global , It can prompt . Add the abbreviation of the module before the name , When integrating and linking multiple modules , Avoid duplicate names of global variables between modules .
In local variable , Cycle count / Array subscripts are available i,j,k,m Sequential representation . in addition to , Prefix other variables to indicate variable type , There is no unified specification for prefixes ,p For the pointer ,pf Pointer to function ,f Single precision floating point ,db Double precision floating point ,u,s Represents unsigned and signed numbers respectively , namely unsigned And signed. In this way, its type can be seen from the variable name , And avoid some bug
Templates : Module name abbreviation _ Scope prefix | Data type prefix |【 Pointer prefix 】| Meaning identification | Array / Structure suffix
Rule seven
Scope prefix naming rules
Identifier type | Scope prefix |
Global variables | g |
File local variables | n |
Function local variable | f |
Local scope variables | a |
Global function | g |
Static functions | n |
Rule eight
Data type prefix naming rules
Prefix | suffix | data type | remarks |
bt | bit | ||
boolean | boolean | ||
char | char | ||
i | int | ||
s | shrot[int] | ||
l | long[int] | ||
u | unsigned[int] | ||
d | duoble | ||
f | float | ||
p | pointer | Pointer prefix | |
v | void | ||
st | enum | ||
st | struct | ||
st | union | ||
fp | function point | ||
_a | array of | ||
_st | typedef enum/struct/union |
Rule nine
The meaning of the variable consists of the identifier : The target word + Verb ( past participle )+ adverbial + The goal is
for example :DataDeletedFromSD
Function meaning and identifier constitute :
Verb ( Present tense )+ The target word + adverbial + The goal is
by the way , At the same time, Amway Yibo now really watches Grammar Videos
Rule 10
All macro definitions , Enumeration constant , Read only variables are all named in capital letters , Divide words with underscores .
for example
const int MAX_LENGTH = 100;
#define FILE_PATH “/usr/tmp”
Rule 11
Don't forget to initialize when defining variables . The compiler does not necessarily empty this memory when defining variables , Its value may be invalid data .
Rule 12
Considering habit , Local variables can be named in a common way , Is limited to n,i,j Etc. are used as loop variables .
2022 year 7 month 5 Japan 21:26:07 Administration building
边栏推荐
- 多线程和并发编程(二)
- Crawling exercise: Notice of crawling Henan Agricultural University
- Depth residual network
- supervisor 使用文档
- AttributeError: Can‘t get attribute ‘SPPF‘ on <module ‘models. common‘ from ‘/home/yolov5/models/comm
- At the age of 26, I changed my career from finance to software testing. After four years of precipitation, I have been a 25K Test Development Engineer
- How to configure GUI guide development environment
- MPLS experiment
- UDP攻击是什么意思?UDP攻击防范措施
- UWA pipeline version 2.2.1 update instructions
猜你喜欢
The first Baidu push plug-in of dream weaving fully automatic collection Optimization SEO collection module
First knowledge of OpenGL es learning (1)
Interface automation test framework: pytest+allure+excel
Week6 weekly report
Thought map of data warehouse construction
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
Missing monitoring: ZABBIX monitors the status of Eureka instance
AttributeError: Can‘t get attribute ‘SPPF‘ on <module ‘models.common‘ from ‘/home/yolov5/models/comm
【每日一题】729. 我的日程安排表 I
巴比特 | 元宇宙每日必读:中国互联网企业涌入元宇宙的群像:“只有各种求生欲,没有前瞻创新的雄心”...
随机推荐
How are the open source Netease cloud music API projects implemented?
Supporting title of the book from 0 to 1: ctfer's growth road (Zhou Geng)
ROS learning_ Basics
The psychological process from autojs to ice fox intelligent assistance
After sharing the clone remote project, NPM install reports an error - CB () never called! This is an error with npm itself.
How to configure GUI guide development environment
Wechat brain competition answer applet_ Support the flow main belt with the latest question bank file
On the world of NDK (2)
leetcode841. Keys and rooms (medium)
First knowledge of OpenGL es learning (1)
PCL实现选框裁剪点云
这个高颜值的开源第三方网易云音乐播放器你值得拥有
(4) Web security | penetration testing | network security web site source code and related analysis
You deserve this high-value open-source third-party Netease cloud music player
LeetCode Algorithm 2181. Merge nodes between zero
When my colleague went to the bathroom, I helped my product sister easily complete the BI data product and got a milk tea reward
Internal and external troubles of "boring ape" bayc
Visitor tweets about how you can layout the metauniverse
MVVM of WPF
#systemverilog# 可综合模型的结构总结