当前位置: 移动技术网 > IT编程>开发语言>Java > Java 基础

Java 基础

2018年05月19日  | 移动技术网IT编程  | 我要评论

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

  一、命名规范

      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 风险

             

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网