写点什么

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

评论

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

ListView Item多布局的实现

芯动大师

ListView item QQ界面

周六直播|StarRocks 参与数据湖架构峰会,揭秘最新湖仓分析新范式!

StarRocks

数据库 大数据

链上双币拆分理财dapp系统开发功能逻辑分析(智能合约编写)

开发v-hkkf5566

数据库国产替代涌入千军万马 亚信科技CEO高念书:非头部企业将难以生存

亚信AntDB数据库

数据库 AntDB 国产数据库 AntDB数据库

模块八作业

张贺

架构训练营

Swift 里 的 Struct 和 Class

刿刀

OpenAI竞争对手Anthropic融资:1融资易估值难2背后谷歌云3侧重安全

B Impact

研发提效利器:聊聊mock服务化

老张

Mockito 服务化 Mock

【深度挖掘RocketMQ底层源码】「底层问题分析系列」深度挖掘RocketMQ底层那些导致消息丢失的汇总盘点透析([REJECTREQUEST]system busy, start flow control for a while)

码界西柚

RocketMQ OOM 消息队列 3月日更

API 网关日志的价值,你了解多少?

API7.ai 技术团队

从 1 秒到 10 毫秒!在 APISIX 中减少 Prometheus 请求阻塞

API7.ai 技术团队

openEuler加入RISC-V Landscape

openEuler

Linux 操作系统 openEuler risc-v

金融交易行为监测方法——利用 CNN 模型实现行为识别

亚马逊云科技 (Amazon Web Services)

适配PyTorch FX,OneFlow让量化感知训练更简单

OneFlow

人工智能 深度学习

前端开发框架React技术如何与小程序结合,进行页面构建

兴科Sinco

小程序 taro 前端开发 前端框架 React Native

高效基于scrum的项目管理工具分享

顿顿顿

Scrum 敏捷开发 项目管理工具 项目管理软件、 leangoo

原因码与ACK--MQTT 5.0新特性

EMQ映云科技

物联网 IoT mqtt 企业号 3 月 PK 榜 原因码

PyTorch深度学习实战 | 计算机视觉

TiAmo

深度学习 计算机视觉

实践,制作一个高扩展、可视化低代码前端,详实、完整

悠闲的水

前端 低代码 前端框架 低代码开发 低代码平台

【3.3-3.10】写作社区优秀技术博文一览

InfoQ写作社区官方

热门活动 优质创作周报

两会聚焦|智能制造的“加速时刻”来了

硬科技星球

技术创新,让企业拥有智能“伯乐”,实现精准识人

用友BIP

22年阿里高频Java面试题总结:分布式+中间件+高并发+算法+数据库

Java java面试 Java八股文 Java面试题 Java面试八股文

电商平台的商品价格管理的产品设计

产品海豚湾

产品设计 SaaS 商品管理 电商 产品分析

微服务为什么要用到 API 网关?

API7.ai 技术团队

直播回顾|聚焦科技自立自强,Bonree ONE 助力国产办公自动化平稳替代

博睿数据

可观测性 智能运维 博睿数据 信创生态 直播回顾

58个实例+2个项目,带你深入技术原理,彻底搞懂Spring Boot

Java spring 微服务 Spring Boot 框架

工厂模式进阶用法,如何动态选择对象?

JAVA旭阳

Java 设计模式

浦发银行与易观千帆签约合作

易观分析

金融 银行 经济

数字图像处理Matlab函数全汇总

timerring

图像处理

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