• 阿里巴巴Java开发手册——速读记录


      本随笔基于阿里巴巴Java开发手册V1.2,陆陆续续记录一些现阶段能理解的,有启发的内容,并将持续更新

      最佳实践——插件使用已经发布为随笔!http://www.cnblogs.com/jiangbei/p/7668654.html

    一、编程规范

      1.命名规范

        (1)代码命名严禁下划线(_)或美元符号($)开头或结束

        (2)命名严禁拼音与英文混用的方式

        (3)类名采用 UpperCamelCase 命名方式,其他(变量,方法,参数等)采用 lowerCamelCase 方式

        (4)常量全部使用大写,使用下划线(_)连接

        (5)数组命名方式严禁使用 String args[] 的形式,请务必使用String[] args 的形式([]是数组的一部分)

        (6)POJO中的boolean类型变量都不要加 is(反例:isRich)以免引起解析异常。

        (7)包名统一小写,使用小数点(.)进行分隔

        (8)类名使用合适的后缀可以大大提高可读性,例如测试类 Test 结尾,异常类 Exception 结尾

       2.常量定义

        (1)严禁出现任何魔法值

        (2)long类型的变量,请使用大写L作为标识(long time = 2L)

        (3)变量尽量分类维护,尽量不要全定义在一个类中进行维护

      3.代码格式

         (1)大括号换行(竟然还有左大括号换行的?/笑哭),不再文字赘述,千言万语不如一张图

            方法参数后的括号与大括号之间建议添加一个空格

          

            (2)缩进采用4个空格,严禁使用Tab缩进

              缩进采用 4 个空格,禁止使用 tab 字符。 说明:如果使用 tab 缩进,必须设置 1 个 tab 为 4 个空格。IDEA 设置 tab 为 4 个空格时, 请勿勾选 Use tab character;而在 eclipse 中,必须勾选 insert spaces for tabs。

             (3)任何二目、三目运算符的左右两边都需要加一个空格。

          (4)if/for/while/switch/do 等保留字与括号之间都必须加空格。

          (5)换行规范:

            1) 第二行相对第一行缩进 4 个空格,从第三行开始,不再继续缩进,参考示例。

            2) 运算符与下文一起换行。

            3) 方法调用的点符号与下文一起换行。

            4) 在多个参数超长,在逗号后换行。

          (6)方法参数在定义和传入时,多个参数逗号后边必须加空格。

        4.OOP规范

          (1)静态方法与静态常量请使用 类名. 进行调用!

          (2)所有的覆写方法,必须加@Override 注解。

          (3)严禁使用过时的类或方法

          (4)Object 的 equals 方法容易抛空指针异常,应使用常量或确定有值的对象来调用 equals。("abc".equals(str))

          (5)所有的 POJO 类属性必须使用包装数据类型;所有的局部变量使用基本数据类型。

          (6)构造方法里面禁止加入任何业务逻辑,如果有初始化逻辑,请放在 init 方法中。

          (7)POJO 类必须写 toString 方法。使用 IDE 的中工具:source> generate toString 时,如果继承了另一个 POJO 类,注意在前面加一下 super.toString。

          (8)类内方法定义顺序依次是:公有方法或保护方法 > 私有方法 > getter/setter 方法。

          (9)循环体内,字符串的连接方式,使用 StringBuilder 的 append 方法进行扩展。

        5.集合处理

          (1)只要重写 equals,就必须重写 hashCode。(参见java基础随笔)

          (2)HashMap是允许null key和 null value的,并且它是线程不安全的

        6.并发处理

          待更新

        7.控制语句

          (1)每个switch都必须包含一个 default 语句并且 放在最后,即使它什么代码也没有。

          (2)if/else/for/while/do 语句中必须使用大括号。即使只有一行代码

          (3)不要在条件判断中执行其它复杂的语句,将复 杂逻辑判断的结果赋值给一个有意义的布尔变量名,以提高可读性。

        8.注释规约

          (1)类、类属性、类方法的注释必须使用 Javadoc 规范,使用/**内容*/格式(可以自定义注释模板,参见IDE配置随笔)

          (2)所有的类都必须添加创建者和创建日期。

          (3)方法内部单行注释,在被注释语句上方另起一行(并且//后空一格),使用//注释。方法内部多行注释 使用/* */注释,注意与代码对齐。

          (4)好的命名、代码结构是自解释的,注释力求精简准确、表达到位。避免出现注释的 一个极端:过多过滥的注释,代码的逻辑一旦修改,修改注释是相当大的负担。

  • 相关阅读:
    int 类型 占多少字节是由什么决定的
    layer.js漂亮的弹出框
    jquery分页点击后页面置顶
    动态请求页面生成静态页
    弹出ifame页面(jquery.reveal.js)
    Request.QueryString["id"] 、Request.Params["id"] 的强大
    为什么现在改用int.TryParse了
    时间格式(例如:2015-11-09)
    返回前一页
    sql获得某个时间段的数据
  • 原文地址:https://www.cnblogs.com/jiangbei/p/7364723.html
Copyright © 2020-2023  润新知