成为架构师的第一步,精通编码规范

“一个优秀的工程师和一个普通工程师的区别,不是满天飞的架构图,他的功底体现在所写的每一行代码上。”——阿里毕玄

为何需要编码规范

编码是个十分复杂的工程,最重要的是团队合作。一个复杂的软件系统不可能只由一个人开发,既然需要团队合作,那么规范就比编码本身更为重要。

代码是给别人看的,优秀的代码需要做到自解释。

  • if 后面的大括号到底需不需要换行?
  • 到底是用 4 个空格还是 4 个 Tab?
  • 实体类如何命名?
  • 成员变量如何命名?
  • 线程池如何使用才能方便排错?
  • 如何避免 if-else 逻辑过多,过于复杂?
  • 什么时候需要进行数据校验?
  • 怎么打日志?
  • 单元测试的原则
  • 如何防止被攻击、信息泄露?
  • 数据库和索引的规范
  • 工程结构如何分层?

阿里巴巴 Java 开发手册

阿里巴巴的孤尽编写的《阿里巴巴 Java 开发手册》经过两年的推广,现在基本算是行业的一个标准了,尽管在大部分公司不是所有规则都严格执行,但基本的规则大家都会严格遵守,博主公司就通过 sonar 检查强制大家遵守阿里的规范,不通过 sonar 检查不准发布。

IBM-使用 Sonar 进行代码质量管理

孤尽

有句话说得好:

一流企业卖标准,二流企业卖专利,三流企业卖服务,四流企业卖产品

阿里作为国内技术第一大厂,基本属于国内的规则制定者,集结了中国大部分最优秀的人才,不断输出技术框架和标准,阿里之前的 RPC 框架 dubbo 就捐献给了 Apache,使中国软件行业向前走了一大步。

Dubbo是否进入 Apache 开源孵化器投票邮件

Dubbo 获得了 14 张赞成票,在无弃权和反对票的情况下,正式通过投票,顺利成为 Apache 基金会孵化项目。

Dubbo正式进入Apache开源孵化器

《阿里巴巴 Java 开发手册》介绍

书中介绍了编码规约、设计规约、工程结构、MySQL 数据库、安全规约、单元测试、异常日志,涵盖了工作中的几乎所有场景吧。非常值得一读,我就买了一本放在工位上,作为工具手册,没事翻一翻。

image

目录

  • 第1章 编程规约 1
    • 1.1 命名风格 2
    • 1.2 常量定义 7
    • 1.3 代码格式 9
    • 1.4 OOP规约 14
    • 1.5 集合处理 21
    • 1.6 并发处理 28
    • 1.7 控制语句 33
    • 1.8 注释规约 38
    • 1.9 其他 41
  • 第2章 异常日志 43
    • 2.1 异常处理 44
    • 2.2 日志规约 49
  • 第3章 单元测试 53
  • 第4章 安全规约 59
  • 第5章 MySQL数据库 63
    • 5.1 建表规约 64
    • 5.2 索引规约 68
    • 5.3 SQL语句 72
    • 5.4 ORM映射 75
  • 第6章 工程结构 79
    • 6.1 应用分层 80
    • 6.2 二方库依赖 83
    • 6.3 服务器 87
  • 第7章 设计规约 89
  • 附 录 专有名词 94

下载和在线阅读 & 插件

《阿里巴巴 Java 开发手册》在 Github上有维护

插件

周边表情包

83行代码蓝雁贴纸及公仔

image.png
3fb7675d452cdc5a745bf5626885e397ec03df59.gif
59b69a91238544446e7dd0533847f1a0a0f1fa62.gif
9634d9dd105097cd885781f08e7ab586bb82c1a8.gif
cf16f7d4a32a3f497aa09002a77eae61d93fc586.gif
a97430958aed1e6f1b89146d75f0d293c4bcfe56.gif

关注微信

  • 在微信公众号「学霸的一天」,回复「java 开发手册」下载《阿里巴巴 java 开发手册》中文最新版