区分变量名和子程序名——例如 变量名为:variableName,子程序名为:getName()
区分类和对象
//方案1:通过大写字母开头区分类型和变量
Widget widget;
LongerWidget longerWidget;
//方案2:通过对变量采用更明确的名字区分类型和变量
Widget aWidget;
LongerWidget fullEmployeeWidget;
标识全局变量——例如:g_runningTotal
标识成员变量——例如:m_isRunning
标识类型声明——可以为类型名增加前缀,例如: t_Color
标识具名常量——可以全部使用大写,如果有可能,用下划线来分割单词,例如:LINES_PER_PAGE_MAX
标识枚举类型的元素——可以全部用大写,或者为类型名增加 e_ 或则 E_ 前缀
在不能保证输入参数只读的语言里标识只读参数——可以为输入参数增加一个 const 前缀
格式化命名以提高可读性——用两种常用方法可以用来提高可读性,那就是用大小写和分割符来分割单词。例如 GYMNASTICSPOINTTOTAL 就比 GymnasticsPointTotal 或者 gymnastics_point_total 难读的多
i 和 j 是整数下标
p 是指针
常量、typedef 和预处理宏全部大写(ALL_CAPS)
类和其他类型的名字混合大小写(MixedUpperAndLowerCase)
变量名和函数名中的第一个单词小写,后续每个单词的首字母大写——例如:gymnasticsPointTotal
不把下划线用做名字中的分隔符,除非用于全部大写的名字以及特定的前缀中(例如标识全局变量的前缀)
与 C 编程相比,上述规则还远远没有形成标准,并且不同的环境也会形成不同的具体规则
? 与 C 和 C++ 不同,Java 语言的风格约定从一开始就创建好了。
? 在混合语言环境中编程时,可以对命名规则(以及格式规则、文档规则等)做出优化以提高整体的一致性和可读性。
? 变量名一般包含了以下三类信息:
变量的内容(它代表什么)
数据的种类(具名常量、简单变量、用户自定义类型或者类)
变量的作用域(私有的、类的、包的或者全局作用域)
(1)C++ 和 Java 的命名规则
ClassName 类名混合使用大小写,首字母大写
TypeName 类型定义,包括枚举类型和 typede,混合使用大小写,首字母大写
EnumeratedTypes 除遵循上述规则以外,枚举类型总以复数形式表示
localVariable 局部变量混合使用大小写,首字母小写。其名字应该与底层数据类型无 关,而且应该反映该变量所代表的事物
routineParameter 子程序参数的格式与局部变量相同
routineName() 子程序名混合使用大小写(建议首字母小写)
m_classVariable 对类的多个子程序可见(且只对该类可见)的成员变量用 m_ 前缀
g_globalVariable 全局变量名用 g_ 前缀
CONSTANT 具名常量全部大写
MACRO 宏全部大写
Base_EnumeratedType 枚举类型名用能够反映其基础类型的、单数形式的前缀——例 如,Color_Red, Color_Blue
(2)C 的命名规则
TypeName 类型名混合使用大小写,首字母大写
GlobalRoutineName() 公用子程序名混合使用大小写
f_FileRoutineName() 单一模块(文件)私用的子程序名用 f_ 前缀
Localvariable 局部变量混合使用大小写。其名字应该与底层数据类型无关,而且应
该变量所代表的事物
RoutineParameter 子程序参数的格式与局部变量相同
f_FileStaticVariable 模块(文件)变量名用 f_ 前缀
G_GLOBAL_GlobalVariable 全局变量名义 G_ 前缀和一个能反映定义该变量的模块(文件)的、全 部大写的名字的开始——例如, G_SCREEN_Dimensions
LOCAL_CONSTANT 单一子程序或者模块(文件)私用的具名常量全部大写,例如, POWS_MAX
G_GLOBALCONSTANT 全局具名常量全部大写,并且以 G_ 前缀和一个能反映定义该具名常量 的模块(文件)的、全部大写的名字开始, 如 G_SCREEN_ROWS_MAX
LOCALMACRO() 单一程序或者模块(文件)私用的宏定义全部用大写
G_GLOBAL_MACRO() 全局宏定义全部大写,并且以 G_ 前缀和一个能反映定义该宏的模块 (文件)的全部大写名字开始——例如, G_SCREEN_LOCATION()
? 对具有通用含义的前缀标准化,为数据命名提供了一种简洁、一致并且可读性好的方法。
用户自定义类型(UDT)缩写可以标识被命名对象或变量的数据类型。UDT 缩写可以被用于表示像窗体、屏幕区域以及字体一类的尸体。UDT 缩写通常不会表示任何由编程语言所提供的预置数据类型。
? 语义前缀比 UDT 更近一步,它描述了变量或者对象如何使用的。
? 有些人倡导基于单词发音而不是拼写来创建缩写、于是 skating 就变成了sk8ing, highlight 就变成了 hilite, before 变成了 b4, execute 变成了 xqt , to 变成了 2。
? 在创建缩写时,需要避免以下陷阱。
原文:https://www.cnblogs.com/rock-cc/p/13305304.html