最近在看一本有关Java编程规范的书,书中精炼阐述了使用java语言时应该遵循的一些原则。接下来的一段时间我将在这里总结我的学习内容,也希望这一系列文章能够对有需要的人有所帮助。
不考虑任何编码规范的代码往往存在很多Bug,严重情况下还会制约软件开发的进度。良好的编程规范不仅能使团队里的每个人都能轻松的阅读并理解其他人的代码、减少Bug的产生,而且让后期的维护工作更加行之有效,从而使代码更具准确性、健壮性、可维护性与可扩展性。所以拥有良好一致的编程规范对于一个团队至关重要。

一、一般原则

(一)保持原有风格

在修改原有的软件时,应该保持原有代码的编写风格。

我们不应该在原有的代码中引入新的风格,在同一段代码中使用不同的编程风格会让我们的代码难以理解。同时我们也不应该重写旧的软件去迎合新的风格,这样很可能会使原来的程序产生严重的功能缺陷。

(二)坚持最小惊奇原则

在编码过程中尽量避免可能让软件用户感到意外的做法。

用户在使用软件中产生的任何交互行为必须都是可预见的,除非在说明文档中明确记录下所有的非常规行为并且说明这样做的理由。为了达到这一目的,在Java软件的开发过程中应该遵循以下几点:

  • 简单性:构建简单的类和方法。
  • 清晰性:明确每个变量、类、接口、方法、对象的用途。
  • 完整性:提供用户所期望的完整的程序功能,并且为此编写完整的说明文档。
  • 一致性:相似的实体,其外观和行为也要大致相同;反之亦然。
  • 健壮性:对错误和异常做出预测,并且在说明文档中提供相应的解决办法。

(三)第一次就做对

将以上的这些规则应用到我们编写的任何代码中,而不只是产品本身的代码。

通常情况下,那些原型代码最终都会被写入成品软件中。由于我们一开始就已经遵循了编码规范,所以我们不需要为特定的产品修改代码规范。那些阅读我们代码的人也会从中受益匪浅。

(四)记录所有非规范行为

没有什么标准是完美且能够放之四海而皆准的,有时候你会发现自己不得不偏离已经建立好的标准体系。

标准并不是适用于任何地方,在打破一条规则之前,我们需要确保我们已经对这条准则有了深入的理解而且清楚打破规则后的后果。此外,我们应该在文档中记录下这样做的理由。

以上就是一般原则的内容,没有涉及具体的代码,但是我们在进行下面的学习或者编码之前应该对以上的内容有所理解。

Java编程风格学习(一)的更多相关文章

  1. Java编程风格学习(二)

    二.格式规范 在上一篇的Java编程风格学习(一)中我们讲述了在Java编码中的一般原则,虽然这些原则并不涉及具体的代码规范,但是这些原则却是我们在Java开发过程中所应该遵循的规范与思想.今天我们将 ...

  2. Java编程风格学习(三)

    在上一篇的java编程风格学习(二)中我们学习了一些在Java编码过程中的格式规范,遵循这些规范毋庸置疑是我们的书写高质量代码的前提与基础.今天我们更进一步,一起来学习Java编程的命名规范,向着编写 ...

  3. Java学习笔记(四)——google java编程风格指南(上)

    [前面的话] 年后开始正式上班,计划着想做很多事情,但是总会有这样那样的打扰,不知道是自己要求太高还是自我的奋斗意识不够?接下来好好加油.好好学学技术,好好学习英语,好好学习做点自己喜欢的事情,趁着自 ...

  4. Java学习笔记(五)——google java编程风格指南(中)

    [前面的话] 年后开始正式上班,计划着想做很多事情,但是总会有这样那样的打扰,不知道是自己要求太高还是自我的奋斗意识不够?接下来好好加油.好好学学技术,好好学习英语,好好学习做点自己喜欢的事情,趁着自 ...

  5. Java学习笔记(六)——google java编程风格指南(下)

    [前面的话] 年后开始正式上班,计划着想做很多事情,但是总会有这样那样的打扰,不知道是自己要求太高还是自我的奋斗意识不够?接下来好好加油.好好学学技术,好好学习英语,好好学习做点自己喜欢的事情,趁着自 ...

  6. Google Java编程风格指南

    出处:http://hawstein.com/posts/google-java-style.html 声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Comm ...

  7. Google Java编程风格指南中文版

    作者:Hawstein出处:http://hawstein.com/posts/google-java-style.html声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Cre ...

  8. (转)google Java编程风格中文版

    转:http://www.hawstein.com/posts/google-java-style.html 目录 前言 源文件基础 源文件结构 格式 命名约定 编程实践 Javadoc 后记 前言 ...

  9. Google的Java编程风格指南(Java编码规范)

    这份文档是Google Java编程风格规范的完整定义.当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格. 与其它的编程风格指南一样,这里所讨论的不仅仅是 ...

随机推荐

  1. Neon Lights in Hong Kong【香港霓虹灯】

    Neon Lights in Hong Kong Neon is to Hong Kong as red phone booths are to London and fog is to San Fr ...

  2. SVM python小样例

    SVM有很多种实现,但是本章只关注其中最流行的一种实现,即序列最小化(SMO)算法在此之后,我们将介绍如何使用一种称为核函数的方式将SVM扩展到更多的数据集上基于最大间隔的分割数据优点:泛化错误率低, ...

  3. easyui datagrid复选框控制单选

    使用easyui datagrid的时候,由于对数据表格操作太多,并且有单选和多选功能因此采用复选框.但是在单选的状态,使用CheckOnSelect和singleselect时发现,页面有明显延迟, ...

  4. 设计模式之第17章-备忘录模式(Java实现)

    设计模式之第17章-备忘录模式(Java实现) 好男人就是我,我就是曾小贤.最近陈赫和张子萱事件闹得那是一个沸沸扬扬.想想曾经每年都有爱情公寓陪伴的我现如今过年没有了爱情公寓总是感觉缺少点什么.不知道 ...

  5. 【Pow(x,n)】

    题目: Implement pow(x, n). 代码: class Solution { public: double myPow(double x, int n) { double ret = S ...

  6. 【Luogu P1120】小木棍

    题目: 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过$50$.现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度.给出每段小木棍的长度,编程 ...

  7. 图说不为人知的IT传奇故事-4-王安用一生来跟IBM抗衡

    此系列文章为“图说不为人知的IT传奇故事”,各位大忙人可以在一分钟甚至几秒内了解把握整个内容,真可谓“大忙人的福利”呀!!希望各位IT界的朋友在钻研技术的同时,也能在文学.历史上有所把握.了解这些故事 ...

  8. Python+Selenium基础篇之3-打开和关闭IE/Chrome浏览器

    前面文章介绍了,如何调用webdriver接口方法来打开和关闭Firefox浏览器,本文介绍如何打开IE和Chrome浏览器.web项目,需要做兼容性测试,最重要的是浏览器兼容性测试.如果只考虑win ...

  9. django ORM 外键详解

    Django中的外键: 首先,为了方便理解,我们把使用ForeignKey的字段所在的表定义为从表,把ForeignKey中to参数连接的表称为主表. 外键使用的先决条件: 在mysql数据表中,数据 ...

  10. 团队Alpha版本冲刺(一)

    目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:丹丹 组员7:家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示组内 ...