写点什么

Google 的 Java 编码规范

  • 2014-02-12
  • 本文字数:798 字

    阅读完需:约 3 分钟

Google 最近发布了一份完整的 Java 编码规范。规范的内容包括一些切实可行的硬性规定。Google 内部均遵守此规范。该规范不仅涵盖了代码格式,还包括其他类型的约定和编码标准。

该规范主要分为 6 大部分:源文件基本规范、源文件结构、代码格式、命名、编程实践和 Javadoc。_ 源文件基本规范 _ 说明文件名、文件编码、空格和特殊字符等规范要求。_ 源文件结构 _ 说明许可信息、package 和 import 声明、类成员顺序等规范要求。_ 代码格式 _ 用于说明源代码中大括号、缩进、换行、空格、括号、枚举、数组、switch 语句、注解、注释和修饰符等格式要求。_ 命名 _ 说明了标识符(包、类、方法、常量、属性、局部变量和类变量)的命名规范和驼峰大小写定义。_ 编程实践 _ 说明 @Override、异常、静态成员和终结器的用法。Javadoc 说明哪些地方需要 Javadoc,以及它的格式要求。

以下是从规范中摘录的一些内容:

  • import 中不能有通配符。
  • 重载方法应该放在一起连续出现。
  • 即使代码块中没有内容,或者只有一行代码,也必须使用大括号。
  • 2 空格缩进。
  • 列宽是 80 或 100 个字符。
  • 不能使用类似 C 语言的数组变量声明。
  • switch 语句中,必须包含 default 语句。
  • 修饰符的顺序应按照 Java 语言规范推荐的顺序。
  • 常量命名应使用 CONSTANT_CASE 格式(译注:所有字母大写,单词使用下划线分隔)。注意,所有常量都必须是 static final 成员,但并不是所有的 static final 成员都是常量。

更多内容请阅读 Google Java Style 。Oracle 也提供了官方的Java 语言编码规范。Google 还提供了其它语言的代码风格指南,包括C++、Objective-C、Python、Shell、HTML/CSS、JavaScript 和Lisp 等等。

原文英文链接: Google’s Java Coding Standards


感谢姚琪琳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-02-12 02:4923671

评论

发布
暂无评论
发现更多内容

模块六作业 - 拆分电商系统为微服务

Elvis FAN

Qt | 定时器的使用 QTimer

YOLO.

定时器 qt 7月月更

Ark UI中的问题汇总【系列1】

坚果

Open HarmonyOS OpenHarmony Open Harmony 7月月更

拆分电商系统为微服务

爱晒太阳的大白

OKALEIDO:我们为何如此看好多媒体NFT板块?

股市老人

IoT物联网安全架构设计方案

明亮安全观

网络安全 IoT IoT安全

初始Envoy项目

阿泽🧸

envoy 7月月更

怎样的工作要辞职呢?

KEY.L

7月月更

spring篇之属性注入

邱学喆

spring 属性注入 @Autowired注入原理 @Resource注入原理 @Qualifier

【C语言深度剖析】详解strlen与sizeof的区别及用法

Albert Edison

7月月更

Binder驱动

北洋

Andriod 7月月更

康威定律如何解释微服务的合理性

源字节1号

程序员 软件开发

Spring IOC

武师叔

7月月更

【愚公系列】2022年07月 Java教学课程 02-Java语言JRE和JDK

愚公搬代码

7月月更

图解网络:什么是DHCP动态主机配置协议?

wljslmz

网络协议 DHCP 网络技术 7月月更

计算机操作系统之进程与线程

未见花闻

7月月更

OKALEIDO:我们为何如此看好多媒体NFT板块?

西柚子

《MySQL入门很轻松》第4章:数据表的创建修改删除

乌龟哥哥

7月月更

应用上容器云的准入条件和最佳实践

穿过生命散发芬芳

7月月更 应用上云

拆分电商系统为微服务

joak

电商微服务

intelamd

闭包

Jason199

js 闭包要点 闭包函数 7月月更

leetcode 932. Beautiful Array 漂亮数组(中等)

okokabcd

LeetCode 分治 算法与数据结构

如果设计业务微服务架构 - 作业

阿拉阿拉幽幽

【Python技能树共建】python selectolax 模块 & Python爬虫模拟登录

梦想橡皮擦

Python 爬虫 7月月更

Python Asyncio 初探:基本概念和模式

宇宙之一粟

Python asyncio 7月月更

Python 入门指南之输入和输出

海拥(haiyong.site)

7月月更

5G NR RRC协议总体介绍

柒号华仔

5G 7月月更

OKALEIDO:我们为何如此看好多媒体NFT板块?

鳄鱼视界

Google的Java编码规范_Java_Bienvenido David_InfoQ精选文章