笔者最近帮助一些朋友应聘远程工做(通常都是一些国外的项目),国外的项目负责人通常都会要求提供github帐号或者一些源代码,不少朋友在这一关就被筛选掉了,其中不乏一些我认为技术很是厉害的行业大牛,他们都研发过不少的大型项目,经验与技术实力都很是不错。那到底是为何呢?我通过仔细的研究,发现他们都有一个共同点,就是命名规范不太严谨。我对这些在应聘远程项目第一关就被筛选掉了的程序员作了一个问卷调查:你都知道哪些java命名规范?最终结果显示:java
在不少的java程序员看来能作到这些,就已是很规范的命名方式了,究竟还有哪些不足之处?笔者总结了一下java开发中的最经常使用的一些命名规范,若是有不足之处,还请各位朋友不吝赐教!若是您以为本文对您有帮助,期待您能帮忙关注、转发!git
软件项目的包名称应该是由您的公司的域名的倒序,再加上您的项目的名称,均使用小写字母,不能包含其余符号。能够在最后添加包的版本,以下图实例所示:程序员
org.example.aprojectname org.example.aprojectname.innerpkg org.example.aprojectname.innerpkg.anotherpkg org.example.aprojectname.innerpkg2 org.example.anotherproject org.example.anotherproject.v2
类名必须是一个 名词,使用驼峰命名方式,首字母应大写,例如HashMap。应该能够从类名中推断出它大概会包含什么样的函数和变量。例如:github
class Student{} class ArrayList{} class HashMap{} class ComputerEngineer{}
接口名称应尽可能使用 形容词。有时也能够是名词,如:List或Map。与类的命名规范同样,使用驼峰命名,首字母应大写。以下:spring
interface Cloneable{} interface AutoCloseable{} interface PreparedStatement{} interface Engineer{}
变量尽可能是简短并且有意义的名词,遵循驼峰命名,首字母小写。而且不要使用划线('_
')或美圆符号'$
'字符。springboot
int countOfCustomer; //Of串联 float averageInterest; //形容词修饰名词 long timeInMillisecond, daysInYear; //时间 boolean isEngineer, isCompleted, hasSubmitted; //布尔类型
常量也是程序的重要组成部分。也要使用名词,或者形容词修饰的名词。所有字母大写,使用下划线分隔单词。函数
public static final float PI = 3.14; static int CREATED_ON_YEAR = 2019;
方法名称要使用动词,而且应该从名称中能够推断出方法的功能,尽可能简短。使用驼峰标志命名。一般, get
和 set
用于分别获取数据和设置数据。对于布尔值,方法名称应与与变量名称相同。学习
void print(Object obj); void remove(Obejct obj); Object update(); int getCountOfCustomer();//getter void setCountOfCustomer(int countOfCustomers);//setter boolean isUserAdmin(User user); //布尔类型
使用单个大写字母, T使用的比较普遍。E一般被用于集合元素,K和V一般被用于映射关系。请勿使用多字符。rest
public <T> void print(T t); interface List<E>{} class HashMap<K, V> {};