java面向国际化项目开发需遵循的命名规范

目录
  • 前言
  • 一、package命名规范
  • 二、Class命名规范
  • 三、Interface接口
  • 四、变量
  • 五、常量
  • 六、方法
  • 七、泛型

前言

笔者最近帮助一些朋友应聘远程工作(一般都是一些国外的项目),国外的项目负责人一般都会要求提供github账号或者一些源代码,很多朋友在这一关就被筛选掉了,其中不乏一些我认为技术非常厉害的行业大牛,他们都研发过很多的大型项目,经验与技术实力都非常不错。那究竟是为什么呢?我经过仔细的研究,发现他们都有一个共同点,就是命名规范不太严谨。我对这些在应聘远程项目第一关就被筛选掉了的程序员做了一个问卷调查:你都知道哪些java命名规范?最终结果显示:

  • 类的首字母要大写,使用驼峰标识
  • 变量首字母小写,使用驼峰标识
  • 常量字母全部大写,下划线分隔
  • 使用英文单词,不要使用拼音

在很多的java程序员看来能做到这些,就已经是很规范的命名方式了,究竟还有哪些不足之处?笔者总结了一下java开发中的最常用的一些命名规范,如果有不足之处,还请各位朋友不吝赐教!如果您觉得本文对您有帮助,期待您能帮忙关注、转发!

一、package命名规范

软件项目的包名称应该是由您的公司的域名的倒序,再加上您的项目的名称,均使用小写字母,不能包含其他符号。可以在最后添加包的版本,如下图实例所示:

org.example.aprojectname
org.example.aprojectname.innerpkg
org.example.aprojectname.innerpkg.anotherpkg
org.example.aprojectname.innerpkg2
org.example.anotherproject
org.example.anotherproject.v2

二、Class命名规范

类名必须是一个 名词,使用驼峰命名方式,首字母应大写,例如HashMap。应该可以从类名中推断出它大概会包含什么样的函数和变量。例如:

class Student{}
class ArrayList{}
class HashMap{}
class ComputerEngineer{}

三、Interface接口

接口名称应尽量使用 形容词。有时也可以是名词,如:List或Map。与类的命名规范一样,使用驼峰命名,首字母应大写。如下:

interface Cloneable{}
interface AutoCloseable{}
interface PreparedStatement{}
interface Engineer{}

接口通常代表一类对象的总称。形容词“会跑的”可以是一个接口名称,实现类可以是人、狗、猫。

而使用名词需要具有一定的概括性,“爪子”比“猫爪”更像是一个接口的名字。

四、变量

变量尽量是简短而且有意义的名词,遵循驼峰命名,首字母小写。并且不要使用划线('_')或美元符号'$'字符。

  • 在for循环中使用的计数变量,可以是i,j,k,m和n,它们也常用于整数
  • 对于 布尔值,通常开头应该是is或has。
  • 可以使用Of串联多个名词
  • 可以使用形容词修饰名词
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通常被用于映射关系。请勿使用多字符。

public <T> void print(T t);
interface List<E>{}
class HashMap<K, V> {};

以上就是java开发国际化项目需遵循的命名规范的详细内容,更多关于java国际化命名规范的资料请关注我们其它相关文章!

(0)

相关推荐

  • Java项目开发命名规范(动力节点Java学院整理)

    最好使用英文,不要用汉语拼音 1:包(package):用于将完成不同功能的类分门别类,放在不同的目录(包)下,包的命名规则:将公司域名反转作为包名.比如www.bjpowernode.com 对于包名:每个字母都需要小写.比如:com. bjpowernode.test;该包下的Test类的全名是:com. bjpowernode.Test.java .如果定义类的时候没有使用package,那么java就认为我们所定义的类位于默认包里面(default package). 2:类:首字母大写

  • Java命名规范

    编写规范目的:能够在编码过程中实现规范化,为以后的程序开发中养成良好的行为习惯. 1. 项目名全部小写 2. 包名全部小写 3. 类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写. 如:public class MyFirstClass{} 4. 变量名.方法名首字母小写,如果名称由多个单词组成,每个单词的首字母都要大写.(驼峰式) 如:int index=0; public void toString(){} 5. 常量名全部大写 如:public static final S

  • java开发命名规范总结

    使用前注意事项:1.由于Java面向对象编程的特性, 在命名时应尽量选择名词 2.驼峰命名法(Camel-Case): 当变量名或函式名是由一个或多个单字连结在一起,而构成的唯一识别字时,首字母以小写开头,每个单词首字母大写(第一个单词除外). 如:myFirstName 一 包名的书写规范 (Package)推荐使用公司或机构的顶级域名为包名的前缀,目的是保证各公司/机构内所使用的包名的唯一性.包名全部为小写字母,且具有实际的区分意义. 1.1 一般要求1.选择有意义的名字,能快速地传达该类的

  • Java 命名规范(非常全面)

    目录 1. 包命名规范 2. 类命名规范 2.1 接口命名规范 2.2 抽象类命名规范 2.3 异常类命名规范 3.方法命名规范 3.1 表述获取 3.2 表述查询 3.3 表述条件 3.4 表述设置 3.5 其他规范 4. 变量命名规范 5. 常量命名规范 6. 枚举命名规范 7. 其他命名规范 7.1 数组 7.2 表述复数或者集合 7.3 泛型类 7.4 接口实现类 7.5 测试类和测试方法 8 扩展:速记 Java 开发中的各种O 前言: 最近发现很多初级程序员写代码时很不规范,比如方法

  • 养成良好java代码编码规范

    一.基本原则 强制性原则: 1.字符串的拼加操作,必须使用StringBuilder: 2.try-catch的用法 try{ }catch{Exception e e.printStackTrace(); }finally{ }//在最外层的Action中可以使用,其它地方一律禁止使用: try{ //程序代码 }catch(Exception e){ //为空,什么都不写 }//在任何场景中都禁止使用 try{ }catch{Exception e throw new runtimeExce

  • java 基础之JavaBean属性命名规范问题

    java 基础之JavaBean属性命名规范问题 JavaBean属性名要求:前两个字母要么都大写,要么都小写 下面我们来找找如果不遵循这个规范是个什么样子?? 因为本人还没有用反射来通过不规范的属性名来查找相应的属性值,所以以下的结论都是我的猜测.如果有错误欢迎大家来指正!!! package com.domain; import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDes

  • java面向国际化项目开发需遵循的命名规范

    目录 前言 一.package命名规范 二.Class命名规范 三.Interface接口 四.变量 五.常量 六.方法 七.泛型 前言 笔者最近帮助一些朋友应聘远程工作(一般都是一些国外的项目),国外的项目负责人一般都会要求提供github账号或者一些源代码,很多朋友在这一关就被筛选掉了,其中不乏一些我认为技术非常厉害的行业大牛,他们都研发过很多的大型项目,经验与技术实力都非常不错.那究竟是为什么呢?我经过仔细的研究,发现他们都有一个共同点,就是命名规范不太严谨.我对这些在应聘远程项目第一关就

  • 关于Java企业级项目开发思想

    什么是企业级项目开发 "企业级项目".企业级项目开发,Java 也是企业级项目开发,这个我们到处说.听,每天被我们挂在嘴边,可是到底什么项目才算是"企业级"?自己一直做的小项目或者大项目到底算得上企业级吗?也就GXPT算是企业级项目吧,接下来和大家交流学习! 1 . 项目开发的现状 一直以来,大小项目在咱们提高班做了算是不少的了,我们都在不停得做项目,赶项目.相信从大家开始做项目到现在,做过了很多大大小小的项目,或多或少也有让自己很引以为豪的成功了的项目.现在大家回

  • Java项目开发中实现分页的三种方式总结

    目录 前言 使用 1.SpringDataJPA分页 2.MyBatis分页 3.Hutools工具类分页 总结 前言 Java项目开发中经常要用到分页功能,现在普遍使用SpringBoot进行快速开发,而数据层主要整合SpringDataJPA和MyBatis两种框架,这两种框架都提供了相应的分页工具,使用方式也很简单,可本人在工作中除此以外还用到第三种更方便灵活的分页方式,在这里一同分享给大家. 使用 主要分为SpringDataJPA分页.MyBatis分页.Hutools工具类分页几个部

  • python用什么编辑器进行项目开发

    工欲善其事必先利其器,估计大部分的pythoner都是从python IDE开始了python之路.有很多的python IDE工具可以用,但是要从中选出一个用着趁手的IDE却是一项艰巨的任务. 你可以用最基本的文本编辑器来开始学习python编程,也可以用一个完整的功能丰富的python IDE,比如PyCharm, Pydev, Emacs 或者 Eric. 选择正确的编辑器对Python编程效率的影响是非常大的.所以专业的程序员都会发时间去选择一个最能满足其需求的IDE. 你该选哪一个呢?

  • SSM框架整合JSP中集成easyui前端ui项目开发示例详解

    目录 前言 EasyUI下载与配置 页面美化 运行结果 总结与问题 前言 前端的UI框架很多,如bootsrap.layui.easyui等,这些框架提供了大量控件供开发人员使用,我们无需花费太大的精力,使得我们的页面具有专业标准,使用起来也很简单.所有的前端框架使用方式基本上大同小异,以下使用easyui作为UI框架做一演示,个人认为easyui提供的控件比较好看. EasyUI下载与配置 使用EasyUI,必须下载其js包,下载官网地址:https://www.jeasyui.cn/ 下载j

  • Java Valhalla Project项目介绍

    目录 Valhalla项目的动机和原因 Value Types 值类型 Specialized Generics 专用泛型 结论 前言: 在本文中,我们将介绍Valhalla项目——它的历史原因.当前的开发状态,以及它发布后为日常Java开发人员带来了什么. Valhalla项目的动机和原因 Oracle的Java语言架构师Brian Goetz在一次演讲中说,Valhalla项目的主要动机之一是希望使Java语言和运行时适应现代硬件.当Java语言诞生时(大约25年前撰写本文时),获取内存和算

  • Android面向单Activity开发示例解析

    目录 正文 总结 正文 记得前一两年很多人都跟风面向单Activity开发,顾名思义,就是整个项目只有一个Activity.一个Activity里面装着N多个Fragment,再给Fragment加上转场动画,效果和多Activity跳转无异.其实想想还比较酷,以前还需要关注多个Acitivity之间的生命周期,现在只需关注一个,但还是需要对Fragment的生命周期进行关注. 其实早在六七年前GitHub上就有单Activity的开源库Fragmentation,后来谷歌也出了一个库Navig

  • javaweb实战之商城项目开发(二)

    上一篇<javaweb实战之商城项目开发(一)>已经把实体类,分页工具创建好了,这一篇利用mybatis创建DAO层. 另外mybatis的api文档可以参考 一.mybatis的使用 1. 引入架包 这里引入mybatis和mysql的架包到lib中 2. 编写Config.xml配置数据库环境 先贴代码,然后逐个解释 <?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE configur

  • javaweb实战之商城项目开发(三)

    接着上一篇<javaweb实战之商城项目开发(二)>这一篇主要实现通用的BaseDao.java和使用resultMap映射关联对象 一.通用的BaseDao.java 既然要大家都能用,所以使用了泛型.其中要注意的问题就是类似User.getClass().getName()这样的代码是需要修改的.修改方法就是使用参数Class tc传递过来,然后在使用tc.getName()即可. 完整代码: package com.dao; import com.model.Pager; import

随机推荐