本随笔基于阿里巴巴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)好的命名、代码结构是自解释的,注释力求精简准确、表达到位。避免出现注释的 一个极端:过多过滥的注释,代码的逻辑一旦修改,修改注释是相当大的负担。

转载于:https://www.cnblogs.com/jiangbei/p/7364723.html

阿里巴巴Java开发手册——速读记录相关推荐

  1. 阿里巴巴Java开发手册(纪念版 1.3.1)记录

    文章目录 阿里巴巴Java开发手册(纪念版 1.3.1) 一.OOP规约 二.命名风格 三.常量定义 四.集合处理 五.控制语句 六.注释规约 七.日志规约 八.其它 阿里巴巴Java开发手册(纪念版 ...

  2. 最新《阿里巴巴Java开发手册》华山版、泰山版、嵩山版速来领取!

    微信公众号原文链接:戳此阅读 简介: 阿里巴巴Java开发手册,来自阿里集团的智慧与经验,用血淋淋的故障换来的总结阿里经济体全球技术开发准则. 文章线路图 手册简介 历代版本 获取方式 手册简介 &l ...

  3. 阿里巴巴 Java 开发手册之编程规约(一)-------我的经验

    阿里巴巴 Java 开发手册 一.编程规约 (一) 命名规约 1.[强制] 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束.(代码规范,易读) 反例: _name / __na ...

  4. 白话阿里巴巴Java开发手册(编程规约)

    本文欢迎转载,转载请注明原文链接,并附作者个人信息李艳鹏. 研发流程管理 最近,阿里巴巴发布了<阿里巴巴Java开发手册>,总结了阿里人多年一线实战中积累的研发流程规范,这些流程规范在一定 ...

  5. [转]白话阿里巴巴Java开发手册高级篇

    不久前,阿里巴巴发布了<阿里巴巴Java开发手册>,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结 ...

  6. 《新版阿里巴巴Java开发手册》提到的三目运算符的空指针问题到底是个怎么回事?

    最近,阿里巴巴Java开发手册发布了最新版--泰山版,这个名字起的不错,一览众山小. 新版新增了30+规约,其中有一条规约引起了作者的关注,那就是手册中提到在三目运算符使用过程中,需要注意自动拆箱导致 ...

  7. 304902阿里巴巴Java开发手册1.4.0

    转自官网 前言 <阿里巴巴Java开发手册>是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,系统化地整理成册,回馈给广大开发者.现代软件行业的高速 ...

  8. 阿里巴巴Java开发手册v1.2.0版

    最近在忙毕设,读了阿里java开发手册后,发现可以更好的读懂别人的代码了,一些文件之间的关系通过命名就能看出了.对自己养成良好的编码风格也有极大的帮助. 本手册仅供大家交流.学习及研究使用,禁止用于商 ...

  9. 《阿里巴巴 Java开发手册》读后感

    前言 只有光头才能变强 前一阵子一直在学Redis,结果在黄金段位被虐了,暂时升不了段位了,每天都拿不到首胜(好烦). 趁着学校校运会,合理地给自己放了一个小长假,然后就回家了.回到家才发现当时618 ...

最新文章

  1. 报名 | 清华大数据论坛之深度学习技术与应用
  2. 做一个java项目要经过那些正规的步骤
  3. redis 哨兵 异步_redis 使用历程
  4. ModuleNotFoundError: No module named ‘_bz2‘(Python3.7安装某些包报错)
  5. centos下打包electron_从零搭建Electron应用 的一系列简单的 Demo
  6. SQL语言基础【DDL、DML、DCL、DQL】
  7. commons fileupload的DiskFileItemFactory
  8. Atitit 图像处理和计算机视觉的分类 三部分 图像处理 图像分析 计算机视觉
  9. insert触发器实例
  10. Tensorflow+Keras+VGG19 猫狗大战分类
  11. 【2019-2020春学期】数据库作业18:第八章: 数据库编程(实验课大作业)
  12. VAssistX 10.9 和 VS2010破解(win10环境)
  13. 基于stm32的智能家居语音控制系统
  14. No base URI; hope URI is absolute: http://
  15. 日常办公,无特殊要求者怎么选择显示器?
  16. 谈谈 DNS 原理及“域名劫持”和“域名欺骗/域名污染”
  17. 桃花影落飞神剑,碧海潮生按玉箫(黄药师)
  18. 下沉市场三巨头,趣头条全面掉队
  19. 钉钉开会使用虚拟摄像头
  20. 分享一种身份证OCR识别技术

热门文章

  1. 怎么看我装的sql能不能用_深入浅出sql优化(三)之单表索引优化
  2. java securerandom使用_Java中的SecureRandom nextBytes()方法
  3. apache 编译php mysql_apache静/动态编译在apache+php+mysql应用
  4. java 内存情况_java查看jvm内存使用情况
  5. ppt怎么加注解文字_PPT怎么在演示稿中添加批注的方法
  6. 二维数组vector的代码使用简单例子_vector容器_ 用构造函数vectorint()
  7. 辽源天气预报软件测试,辽源天气预报15天
  8. Android实现自定义相册,在Android Gallery App中创建自定义相册
  9. Web前端期末大作业--响应式电竞博客网页设计(HTML+CSS+JavaScript)实现
  10. mysql获取时间戳_服了!阿里Mysql三位封神专家总结1200多页性能优化的千金良方...