2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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:4923567

评论

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

vue2升级vue3:this.$createElement is not a function—动态组件升级

zhoulujun

linux几个没用但是有趣的命令

入门小站

Linux

在线文本按行批量反转工具

入门小站

工具

爆肝!阿里大佬自曝10w字Java面试核心知识手册,基础到高级足足涵盖30个技术专题

Java全栈架构师

Java spring 架构 面试 JVM

微博关闭发布多个兼职诈骗信息违规账号:如何打击数据造假灰产

石头IT视角

flutter系列之:flutter中的IndexedStack

程序那些事

flutter 程序那些事 6月月更

vue2升级vue3:TypeScript下vuex-module-decorators/vuex-class to vuex4.x

zhoulujun

vuex3

阿里出品!图形化的ant脚本——IDEA插件CloudToolkit

Java全栈架构师

Java 阿里巴巴 程序员 IDEA 开发工具

uni-app进阶之样式框架/生产环境【day10】

恒山其若陋兮

6月月更

数据库每日一题---第19天:排名靠前的旅行者

知心宝贝

数据库 前端 后端 云 原生云 CTO 6月月更

vue2升级vue3:Vue2/3插槽——vue3的jsx组件插槽slot怎么处理

zhoulujun

typescript Vue3 slots tsx slot

小程序怎样关联微信小程序二维码,实现二码合一聚合

Geek_99967b

小程序 小程序容器

盘点常见的漏洞利用方式

穿过生命散发芬芳

漏洞利用 6月月更

从-1开始实现一个中间件

艾小仙

Java 中间件 springboot

vue2升级vue3: Event Bus 替代方案

zhoulujun

Vue3 vue2 event bus

有一说一,高并发系统设计其实一点都不难!

Java全栈架构师

Java 程序员 面试 高并发 架构设计

eureka的解析

卢卡多多

Eureka 6月月更

在线JSON转HTMLTable工具

入门小站

工具

文件I/O

fy

UNIX系统

从摄影“鄙视链”说起,聊一聊XDR的安卓化之路

脑极体

vue2升级vue3:webpack vue-loader 打包配置

zhoulujun

vite webpack vue-loader

JUnit VS TestNG

FunTester

Android 修改系统屏幕亮度及监听

yechaoa

android 6月月更 Brightness

AWS CloudWatch

冯亮

云计算 监控 AWS

vue2升级vue3:Vue3时jsx组件绑定自定义的事件、v-model、sync修

zhoulujun

Vue3 sync tsx

vue2升级vue3:vue2 vue-i18n 升级到vue3搭配VueI18n v9

zhoulujun

国际化 i18n vue-i18n

vue2升级vue3: 全局变量挂载与类型声明

zhoulujun

【网关对比】Java亿级流量架构之网关设计思路

Java全栈架构师

Java 程序员 面试 微服务 架构师

vue2升级vue3:class component的遗憾

zhoulujun

@Options @Component class component

小程序与工业互联网能够相辅相成的原因

Geek_99967b

小程序 小程序开发

必读书籍

玄兴梦影

学习 书籍 推荐书籍

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