硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

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

评论

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

week 10

Geek_2e7dd7

week 10

Geek_2e7dd7

Github+docsify零成本轻松打造在线文档网站

Java全栈封神

Java GitHub 全栈 文档 docsigy

英特尔推出“OpenVINO领航者联盟”,携手DFRobot推进AI商业落地新探

最新动态

DT时代释放金融数据价值,驱动金融商业裂变

华为云开发者联盟

金融科技 华为云 modelarts 数据价值 用户细分

计算机网络基础(十七)---传输层-TCP的可靠传输

书旅

TCP 计算机网络 网络协议 计算机基础 TCP/IP

最右JS2Flutter框架——动画、小游戏的实现(四)

刘剑

flutter 大前端 探索与实践

LeetCode题解:21. 合并两个有序链表,递归,JavaScript,详细注释

Lee Chen

大前端 LeetCode

贵州:“区块链+”促经济转型产业升级

CECBC

【权限系统设计】ACL, DAC, MAC, RBAC, ABAC模型的不同应用场景

小隐乐乐

5招详解linux之openEuler /centos7防火墙基本使用指南

华为云开发者联盟

centos7 网络安全 防火墙 openEuler 网络环境

主权投资基金或有助于实现可持续发展目标

CECBC

十五张图带你彻底搞懂从URL到页面展示发生的故事

执鸢者

大前端 浏览器 页面展示

支持 100 种语言的 Canva 是怎么做本地化管理的?

葛仲君

产品经理 本地化 产品本地化 国际化

为什么 90 后一言不合就跳槽?

非著名程序员

程序员 个人成长 职业成长 延迟满足感 即时反馈

9个常用ES6特性归纳(一般用这些就够了)

华为云开发者联盟

Java 程序员 编程语言 ES6 编程效率

腾讯SaaS千帆对渠道的态度——合作共赢的诚意

人称T客

论做AI芯片的正确姿势

flow

LeetCode题解:21. 合并两个有序链表,迭代(优化),JavaScript,详细注释

Lee Chen

大前端 LeetCode

获奖名单公布 | 写作平台八月宠粉福利来袭,参与创作领取限时大奖~

InfoQ写作社区官方

写作平台 征稿 热门活动

当我们谈注册中心时谈什么?

捉虫大师

zookeeper nacos 注册中心

联盟链落地与激励机制

CECBC

十二张图搞懂浏览器安全——(同源策略、XSS、CSRF、跨域、HTTPS、安全沙箱等知识点)

执鸢者

https 浏览器安全 同源策略 XSS 跨域

超英文邮件50%!Flink 中文邮件列表必须有姓名

Apache Flink

flink

2.2.2 类反射场景与使用 -《SSM深入解析与项目实战》

谙忆

你是否真的懂数组?

架构师修行之路

数组 数据结构与算法

微服务架构

不在调上

【漫画】最近,老王又双叒get了CDN的新技能—可编程化敏捷开发

阿里云Edge Plus

CDN

F5G的星光闪烁,为工业而明,向未来而歌

脑极体

libuv 异步网络编程之 TCP helloworld

Huayra

网络编程 libuv

煌煌中原 化鲲为鹏

脑极体

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