使用形容词给类型名或类名的命名方法

程序命名有很多方法,也有很多争论,有的人喜欢用下划线分隔,有的人喜欢用大小写分隔(驼峰),有人告诉你全局变量要全大写,有的人说用g_作前缀。

我觉得重点不是大小写或分隔符,而是使用不同词性的词来命名。

变量名用名词或定中短语,函数用动词或动宾短语这个已经形成共识。那类名呢?一般也用名词,这样会用变量名冲突,于是有些人用首字母大写给类命令,小写是变量;有些人则使用前缀或后缀区分。我觉得类名应使用形容词,但大多数类天然是名词,怎么变成形容词呢?其实很简单,加s就可以了,比如英语中表示“学生的”写法是 student‘s 或 of student, 这样学生类就可以使用students表示。有人可能要问,那学生类的数组呢?数组有很多类型,有内存连续的数组,有链式的数组,所以仅仅加个s是不够的,所以可以分别命名为stu_arr, llist_of_stu,反正只要是名词或定中短语就可以了。

原文地址:https://www.cnblogs.com/decoder/p/8192634.html

时间: 2024-10-31 07:49:59

使用形容词给类型名或类名的命名方法的相关文章

C++中class与struct的区别(struct的类型名同时可以作为变量名)

通常我们知道的区别: (一)默认继承权限.如果不明确指定,来自class的继承按照private继承处理,来自struct的继承按照public继承处理: (二)成员的默认访问权限.class的成员默认是private权限,struct默认是public权限. 除了这两点,class和struct基本就是一个东西.语法上没有任何其它区别. 昨天发现一个不知道算不算是区别的东西: struct的类型名同时可以作为变量名,显然class是不可以的,也可以理解,因为class各类型变量定义时直接是类名

同一个项目中存在完全相同的包名和类名如何解决调用问题

项目中遇到有一个类,在两个jar包中都存在,而且类所在的包名和类名完全一致,解决办法有两种: 1.常用办法 清除项目中过时的那个jar包,推荐方式. 2.如果两个都不能清除,则在使用过程中动态指定加载的jar包即可.以rt.jar中javax.xml.ws.Service为例,代码如下 File file = new File("f:\\rt.jar"); URL url = file.toURI().toURL(); ClassLoader classLoader = new URL

JavaScript使用构造函数获取变量的类型名

在JavaScript中,如何准确获取变量的类型名是一个经常使用的问题. 但是常常不能获取到变量的精确名称,或者必须使用jQuery 中的方法,这里 我通过 typeof ,jQuery.type 和 通过构造函数来获取变量类型 这三种方法详细介绍一遍. 希望可以对你提供帮助. 看到题目的第一眼,有些同学可能会想到 typeof 运算符. 使用 typeof 获取基本的类型 在JavaScript语言中,给出了使用 typeof 运算符来获取基本的类型名.(注意不是基本类型) 这是 typeof

c_src/esdl.h:73:35: 错误:未知的类型名‘ErlDrvSizeT’

[[email protected] esdl]# rebar compile ==> esdl (compile) Compiling c_src/esdl_gl.c In file included from c_src/esdl_gl.c:14:0: void gl_dispatch(sdl_data *, int, ErlDrvSizeT, char *); ^ c_src/esdl_gl.c: 在函数'es_init_opengl'中: c_src/esdl_gl.c:106:2: 警

类名 对象名 =new 类名();

类名 对象名 =new 类名();该怎么理解 类名 对象名 =new 类名();=左边:创建一个类的对象=右边:调用这个类的构造函数初始化对象,类名()这个是构造函数,用来做初始化的.

#define与typedef定义的类型名的区别

1.可以用其他类型说明符对#define定义的类型名进行扩展,但对typedef所定义的类型名不能这样做. 例如: #define peach int unsigned peach i; //加上unsigned类型说明符,正确! typedef int banana; unsigned banana i; //加上unsigned类型说明符,错误! 2.在连续的变量声明中,用typedef定义的类型能够保证声明中的所有变量均为同一种类型,而用#define定义的类型则无法保证. 例如: #de

关于typedef声明新类型名

typedef作用是用简单的类型名代替复杂的类型名,这样易于理解,方便表示.如 typedef int Integer 指定Integer为类型名,作用于int 相同 Integer i 与 int i 等价. 复杂点的情况是定义函数指针,如 typedef void (*fun)(void) 表示用户自己定义了一个函数指针数据类型,fun ptr,即定义了一个函数指针ptr,可将函数地址赋给该指针,如 ptr=File; (File为一函数,函数名即地址,File()的入口地址赋给ptr,以后

flex获取对象类型 并通过类名实例化对象

问题情景描述: 平台A.B,分别对应主内容区Hgroup的子对象,对象类型相同,只是数据不同. 当A.B之间切换,Hgroup的对象需要重新创建并数据赋值. 这样便出现了 获取对象类型  并创建该类型对象实例 的需求. 问题解决方法: step1 : 根据对象获取对象类型 使用getQualifiedClassName方法,可以返回类型String step2:创建该类型对象实例 getDefinitionByName根据对象类型String,得到CLass类.然后对类进行实例化即可. 代码参考

java中创建对象 类名 对象名=new 类名(); 后面的()什么意思

类名 对象名=new 类名();类名 对象名 这个的解释是创建名称为"对象名"的"类名"类引用变量new ; 这个的解释是实例化对象类名() 这个的解释是无参数构造方法:new 类名();就是说以无参数构造方法实例化对象:类名 对象名=new 类名();用指针的解释就是以无参数构造方法实例化对象并将这个对象的内存引用赋给"类名"类的"对象名"引用变量