代码精进之路
范学雷
前 Oracle 首席软件工程师,Java SE 安全组成员,OpenJDK 评审成员
37886 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 48 讲
结束语 (1讲)
代码精进之路
15
15
1.0x
00:00/00:00
登录|注册

11 | 组织好代码段,让人对它“一见钟情”

当我们看到一个事物的时候,它的轮廓首先进入视野,给了我们第一印象。如果第一印象没有吸引到我们,那我们就不会集中注意力去关注它,也不会想去认识它。
我觉得有个俗语非常好地概括了这个认知习惯。这个俗语就是“不起眼”,更通俗一点的说法是“放在人群里认不出来”。
不管我们愿不愿意,第一印象特别影响我们的判断和心情。我们看到美好的东西,自己也跟着高兴;看到乱糟糟的东西,自己也感觉乱糟糟的。
代码也是这样的。如果我们看到整齐、清爽的代码,我们就对它有好感,愿意阅读,也愿意改进。 如果代码一团糟,风格混乱,我们就特别想静静地走开,一行都不想看。
前面的几讲中,我们讨论了注释、声明、格式、注解等编码规范。现在,是时候把这些零散的知识放到一块儿了。这些规范组合在一起,就会让代码既有让人喜悦的轮廓,也有让人清爽的细节。
这一次,我们将使用大量的例子,从代码文件头部结构、对象结构、类的内部结构、方法的代码结构、限定词的使用以及空行的使用这六大维度,来说明到底该怎么组织一个源代码文件。

代码文件头部结构

一般来说,一个源代码文件的开始部分包含三项内容。 按照出现顺序,分别为:
版权和许可声明;
命名空间(package);
外部依赖(import)。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《代码精进之路》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(7)

  • 最新
  • 精选
  • 老杨同志
    /* Copyright (c) 2019 leetcode 算法练习 给定整形数组和目标值,求数组中那两个元素之和等于目标值 example : 输入 [2,4,6,7,] target = 10 ;return [4,6] */ import java.util.HashMap; import java.util.Map; class Solution { //为了展示属性应该放的位置,强加属性,关键字顺序也是老师推荐的 private static final long serialVersionUID = 5454155825314635342L; //只有一个构造方法可以省略,多个构造方法时,空实现换行加注解 public Solution(){ //blank 空实现 } /** * Given an array of integers, return indices of the two numbers * such that they add up to a specific target. * return int[0] if nums==null or nums.length==0 or result not found. */ public int[] twoSum(int[] nums, int target) { //check 代码块之间空行隔开 if (nums==null || nums.length==0) { return new int[0];//老师提示返回int[0]避免空指针 } //algorithm begin Map<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < nums.length; i++) { int complement = target - nums[i]; if (map.containsKey(complement)) { return new int[] { map.get(complement), i }; } map.put(nums[i], i); } //not found return new int[0]; } }

    作者回复: 改的不错,还有一些小问题,有的我们还没有讲到。

    4
  • 苦行僧
    一般用静态检查工具去发现问题

    作者回复: 嗯,检查工具有反馈,多查到几次问题,慢慢我们就知道怎么规避这些问题了。

    1
  • Demon.Lee
    老师,类的声明与方法或属性之间没有强制要求换行分割吧,有些同事喜欢这样干。 public class Xxx{ //换行 private String xxx; }

    作者回复: 一般不要求分割。 缩进已经表明了这是下一级代码块。 换行的时候,大都是声明一行写不完,要用两行或者多行。 如果两个代码块视觉分割不清楚,可以多一个空行。

    1
  • 王智
    好规范呀,发现自己以前写的代码好多都不规范!!! 课后习题在我看来: 1. 类没有介绍 2.方法前面介绍不全,必要的没写,比如说抛出的异常,参数等等 3.方法内没有空行分割,看起来一大片. 这就是我的看法,这篇文章的规范有点多,需要好好看一下. 加油!!!

    作者回复: 找的不错,还有一些问题,我们后面还会讲。

    1
  • 进化菌
    该留的空行还是得留的,那样更好的展示代码块~
    1
  • 北风一叶
    谢谢老师的整理 以后有法可依了
    1
  • Sisyphus235
    规范的代码结构能提高开发效率,让后续的开发者能够快速理解项目结构和历史情况。代码迭代的时候也能快速找到所需要的信息,以及需要连动迭代的代码
收起评论
显示
设置
留言
7
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部