写点什么

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

评论

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

druid源码学习四-多线程之锁探究

Nick

Apache Druid 锁机制 多线程安全

青藤参与编写的《数据安全法》实施参考(第一版)发布

青藤云安全

即时通讯安全篇(九):为什么要用HTTPS?深入浅出,探密短连接的安全性

JackJiang

https 即时通讯 ssl im开发

最「难搞」的英伟达也开源了,苹果会是下一个吗?

腾源会

开源 英伟达 苹果 腾源会

如何设计产品帮助中心?从这几点出发

小炮

福昕软件与神州数码达成中国区分销合作

联营汇聚

引领创新!青藤入选“网信自主创新尖锋企业”

青藤云安全

Node.js可以用来做什么事?

小学僧

node.js 前端 5月月更

不用PyScript,网页端运行的Python编辑器

OpenHacker

Python 编辑器 代码编辑器

西门子PLC设备如何接入AIRIOT物联网低代码平台 ?

AIRIOT

物联网, PLC 低代码开发 低代码平台

全新升级!阿里巴巴2022最新Spring源码全家桶全彩笔记开源

Java全栈架构师

spring 源码 程序员 面试 程序人生

面向CV编程:COPY了别人文章中的代码,想让代码能像作者一样跑通,应该注意什么呢?怎样才能让代码愉快地跑起来呢

迷彩

读书笔记 高效工作 程序员 个人思考 5月月更

【愚公系列】2022年05月 二十三种设计模式(十三)-职责链模式(Chain of Responsibility Pattern)

愚公搬代码

5月月更

Collections和Objects的使用注意

zarmnosaj

5月月更

从相亲来看Flutter 的 StatefulWidget 和 StatelessWidget

岛上码农

flutter ios开发 安卓开发 跨平台应用 5月月更

青藤正式加入微软MAPP计划

青藤云安全

基于STM32+华为云IOT设计智能称重系统

华为云开发者联盟

物联网 传感器 stm32 华为云IoT平台 智能称重系统

Maven 项目

Emperor_LawD

maven 5月月更

满足多用途和峰值性能需求,英特尔 Arctic Sound-M成就出色游戏串流体验

科技新消息

做不好资产清点的网络安全防护都是耍流氓!

青藤云安全

企评家 | 每日互动股份有限公司成长性评价简介

企评家

周日直播,龙蜥社区等8位专家在线报告 | 2022大学生操作系统大赛培训会

OpenAnolis小助手

操作系统 人才培养 大学生 龙蜥社区

银行借助纵向联邦学习 集中化进行长尾客群的精准营销

易观分析

联邦学习 联邦计算

一文简述:容灾等级&保护程度

穿过生命散发芬芳

容灾 5月月更

企评家,为沪深主板企业成长性评价

企评家

druid 源码阅读(四)返回一个连接

爱晒太阳的大白

5月月更

技术创新!青藤威胁检测论文入选国家中文核心期刊

青藤云安全

论文 威胁检测

如何使用Python实现图像融合及加法运算

华为云开发者联盟

Python OpenCV 图像处理 图像融合 加法运算

不用PyScript,网页端运行的Python编辑器

Alexads

Python 代码编辑器

干货| 四种渲染到底是啥?终于有人讲明白了!(上)

Orillusion

开源 WebGL 元宇宙 Metaverse webgpu

当你运行npm run命令时,会发生什么

华为云开发者联盟

JavaScript typescript npm Script run命令

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