欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java 基础

程序员文章站 2022-05-11 10:17:49
因为重构了别人的恶心代码,体验极差,所以弄个基础规范给自己。 一、命名规范 Java中学习到的第一点就是 1、 代码中的命名不能以下划线或者美元符号开始,也不能以下划线或者美元符号结束。 如: _name / __name / $Object / name_ / name$ / Object$ 2、 ......

       因为重构了别人的恶心代码,体验极差,所以弄个基础规范给自己。

  一、命名规范

      Java中学习到的第一点就是

       1、 代码中的命名不能以下划线或者美元符号开始,也不能以下划线或者美元符号结束。

          如:

             _name / __name / $Object / name_ / name$ / Object$

       2、代码中命名最好不要用中文拼音,实在不会就百度(我就是那个百度的渣渣,虽然现在有在学习英语)。

        因为同事遇到过,前端的命名全是拼音,但是又是缩写。和组长报告,我拼音不太好,能不能让前端给我

        讲讲什么他这个页面到底是什么。

       3、方法名、参数名、成员变量、局部变量统一使用lowerCamelCase风格,必须遵循驼峰形式

          如:

            localValue (参数名、成员变量、局部变量) / getHttpMessage() (方法名)

       4、我们在类中使用到的常量全部用大写,方便区分。每个单词之间以下划线分割

          如:

            MAX_STOCK_COUNT

       5、抽象类以Abstract 或 Base 开头;异常类命名使用 Exception 结尾;

          测试类 命名以它要测试的类的名称开始,以 Test 结尾。

       6、如果定义一个数组类型最好是String[] args。虽然String args[]也没什么问题。但是语义上略显不同。

          比如:

            String与String[], 前者叫字符串类型而后者叫字符串数组类型 ,

            String args[]单从类型上来讲属于字符串类型,

            而从变量本身来讲是一个数组类型,

            因此组合起来说明此变量为一个字符串类型的数组, 也就是说数组中的所有元素都为String类型.

         然后当你如果要声明多个数组的时候就显示出差异化了。

           如:

            String args[],argt; / String[] args,argt;

            前者声明的第一个变量是字符串数组类型,而第二个变量为字符串类型,

            而后面声明的则都为字符串数组类型。

       7、如果你自己封装的方法之中使用了设计模式的话,命名最后带上设计模式的名字

           如:

            public class OrderFactory;(工厂模式)

            public class LoginProxy;(代理模式)

        8、接口之中最好不要加上修饰符号(public 最好也不要加上),保持代码的简洁性,并且加上有效得javadoc得注释

        (ps:个人认为doc得注释相当得有必要,你不用在去和别人讲什么乱七八糟的糟心的东西,直接甩他doc的文档,

         离职交接也可以很快完成,因为一个正常的码农,一般都是看的懂)

        9、接口一定是一个暴露出来的服务,让其他人来进行调用的。而接口的实现类一般都是用Impl与接口作为区别的。

        10.枚举类用Enum作为后缀,枚举成员名称需要全大写,单词间用下划线隔开(个人是没有用到什么枚举类方面的)。

     11.Service/DAO 层命名

       如:

         1) 获取单个对象的方法用 get 做前缀。

         2) 获取多个对象的方法用 list 做前缀。

                              3) 获取统计值的方法用 count 做前缀。

           4) 插入的方法用 save(推荐)或 insert 做前缀。

                              5) 删除的方法用 remove(推荐)或 delete 做前缀。

                                6) 修改的方法用 update 做前缀。

     12.最好不要直接使用未经定义的常量直接出现在代码中。(

    这个我以前经常做,只在本类或者是只在这个方法中出现,直接就偷懒拼接了,但是最后发现,看起来。。。人有点晕)

        如:

         String key="Id#参数_"+tradeId;

     13.字符串equals方法容易抛出空指针异常,最好使用常量或者确定有值得对象来调用equals

       如:

          "test".equals(object);

     14.局部变量最好使用基本类型,而POJO类属性最好使用包装类,RPC方法返回和入参最好使用包装类

      因为数据库的查询结果可能是 null,因为自动拆箱,用基本数据类型接收有 NPE 风险