写点什么

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

评论

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

iOS 面试策略之算法基础1-3节

iOSer

ios 面试 算法 iOS算法

「开源」首次被列入“十四五”规划,未来大有可为

百度开发者中心

kubectl top node报错及解决

箭上有毒

翻译:《实用的Python编程》08_00_Overview

codists

Python

为什么主动跨数据复制在5G时代非常重要?

VoltDB

数据分析 5G VoltDB 电信

Javascript执行机制-任务队列

Sakura

Redis 客户端服务端命令数据交换

escray

redis 学习 极客时间 Redis 核心技术与实战 4月日更

为什么很多SaaS叫好不叫座?

ToB行业头条

SaaS tob

中间件技术在百度云原生测试中的应用实践

百度开发者中心

中间件

HugeGraph图数据库获Apache TinkerPop官方认证

百度开发者中心

软件测试面试题【2021模拟面试整理版(含答案)】

程序员阿沐

面试 软件测试

Python实现植物大战僵尸

不脱发的程序猿

Python GitHub 开源 游戏开发 4月日更

[知识它]一篇文章或一本书是怎么写出来的

知识它

写作技巧 写文章 快速写作 写作方法

阿里最强 Python 自动化工具开源了!

星安果

Python 开源 自动化 阿里

基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之布局菜单嵌套路由(三)

crudapi

Vue crud crudapi quasar 路由

关于机器学习的十大常见问题

澳鹏Appen

人工智能 机器学习 深度学习 大数据 数据

开放原子超级链动态内核上线,十分钟可搭建一条区块链

百度开发者中心

重磅功能!博睿数据APM助企业从容应对云原生架构演进

博睿数据

应用性能监控产品 Bonree Server 博睿数据 bonree

华云大咖说 | 华云数据与海量数据携手共建国产云生态

华云数据

百度应用部署秘籍

百度开发者中心

阿里最新发布Spring Cloud ALiBaBa全解第三版开源!

Java架构追梦

Java 阿里巴巴 架构 面试 SpringCloud Alibaba

飞桨框架2.0正式版重磅发布,一次端到端的“基础设施”革新

百度开发者中心

乡村振兴:AI+乡村的下一个命题

百度开发者中心

GitHub爆火!银四巨作:拼多多/蚂蚁/百度面经分享

比伯

Java 架构 面试 程序人生 技术宅

500+解决方案已搭载,英特尔新至强出道不含糊

E科讯

正点原子:STM32F103(战舰)、STM32F407(探索者)、STM32F103(MINI)原理图和PCB

不脱发的程序猿

开发板 stm32 硬件设计 4月日更 正点原子

纹理打包器TexturePacker

空城机

UI 4月日更 Texture Packer 纹理打包器 pixi

初窥Ray框架

行者AI

深度学习

架构可视化支撑系统演进探索

华为云开发者联盟

架构 软件系统 架构可视化 辅助系统 架构可视化辅助系统

语音聊天室 anyHouse 使用手册

anyRTC开发者

ios android 音视频 WebRTC RTC

以太坊杀手?NA公链(Nirvana)Chain忠于挑战自己NAC公链

区块链第一资讯

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