你的代码该如何让人眼前一亮?

这一次, 我们将使用大量的例子, 从代码文件头部结构、 对象结构、 类的内部结构、 方法的代码结构、 限定词的使用以及空行的使用这六大维度, 来说明到底该怎么组织一个源代码文件。

代码文件头部

包含三项内容

  1. 版权和许可声明;
    //空一行
    //“2018, 2019”中的2018表示的是代码的诞生日期, 2019表示的是代码的最近更
    ///改日期。 需要注意的是, 每次代码变更, 都要更改代码的最近更改日期。
  2. 命名空间(package) ;
    //空一行
  3. 外部依赖(import) 。

代码文件对象结构

三个部分

  1. 类的规范;
  2. 类的声明;
  3. 类的属性和方法。

这一部分中, 我们需要注意的是, 对于公共类, 需要使用since标签, 标明从哪一个版本开始定义了这个类。 这样的标明, 方便我们对类进行版本管理, 减少我们进行代码变更时的工作量

类的内部代码结构

类的属性和方法, 一般是一个代码文件的主要组成部分。 类的结构, 推荐的编码顺序依次为:

  1. 类的属性;
  2. 构造方法;
  3. 工厂方法;
  4. 其他方法

类似于构造方法, 工厂方法也是用来构造一个类的实例。 不同的是, 工厂方法有具体的返回值。
它可以是静态方法, 也可以是实例方法。如果是实例方法, 工厂方法还可以被子类重写。 这是工厂方法和构造方法的另外一个重要的区别。 由于工厂方法也扮演着构造类实例的功能, 我们一般把它放在构造方法的后面, 其他方法的前面。

方法的代码结构: 一个方法需要包含三项内容

  1. 方法的规范;
    //内部类的内部方法, 可以没有第一部分。 但对于公开类的公开方法, 方法的规范一定不能缺失。
  2. 方法的声明;
  3. 方法的实现

一个典型的规范, 应该包含以下十个部分:

  1. 方法的简短介绍;
  2. 方法的详细介绍(可选项) ;
  3. 规范的注意事项 (使用apiNote标签, 可选项);
  4. 实现方法的要求 (使用implSpec标签, 可选项);
  5. 实现的注意事项 (使用implNote标签, 可选项);
  6. 方法参数的描述;
  7. 返回值的描述;
  8. 抛出异常的描述: 需要注意的是, 抛出异常的描述部分, 不仅要描述检查型异常, 还要描述
    运行时异常;
  9. 参考接口索引(可选项) ;
  10. 创始版本(可选项) 。

在这里插入图片描述

在这里插入图片描述

按顺序使用限定词

在声明一个类、 方法或者方法属性时, 为了更准确地描述和理解声明的适用场景, 我们通常要使用修饰性的关键词。 这些修饰性的关键词, 我们通常称它们是修饰符或者限定词。 一个声明,
可以使用多个限定词。

限定词推荐使用顺序

  1. public/private/protected (访问控制限定词, 制定访问权限)
  2. abstract ( 抽象类或者抽象方法, 具体实现由子类完成)
  3. static ( 静态类、 方法或者类属性)
  4. final ( 定义不能被修改的类、 方法或者类属性)
  5. transient( 定义不能被序列化的类属性)
  6. volatile( 定义使用主内存的变量)
  7. default( 声明缺省的方法)
  8. synchronized( 声明同步的方法)
  9. native( 声明本地的方法, 也就是Java以外的语言实现的方法)
  10. strictfp( 声明使用精确浮点运算)

使用空行分割代码块

我们可以使用空行分割如下的代码块:

  1. 版权和许可声明代码块;
  2. 命名空间代码块;
  3. 外部依赖代码块
  4. 类的代码块;5. 类的属性与方法之间;
  5. 类的方法之间;
  6. 方法实现的信息块之间。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值