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

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

学习和改进的方法
辨别有效的组织策略
组织代码的重要性
方法的实现
方法的声明
方法的规范
其他方法
工厂方法
构造方法
类的属性
类的属性和方法
类的声明
类的规范
外部依赖
命名空间
版权和许可声明
一起来动手
小结
使用空行分割代码块
按顺序使用限定词
方法的代码结构
类的内部代码结构
代码文件对象结构
代码文件头部结构
代码规范的重要性
第一印象对代码的影响
组织好代码段,让人对它“一见钟情”

该思维导图由 AI 生成,仅供参考

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

代码文件头部结构

一般来说,一个源代码文件的开始部分包含三项内容。 按照出现顺序,分别为:
版权和许可声明;
命名空间(package);
外部依赖(import)。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

代码的组织对于软件开发者来说至关重要。本文以“组织好代码段,让人对它‘一见钟情’”为题,深入探讨了如何通过规范的代码组织方式来提高代码的可读性和可维护性。文章首先强调了第一印象的重要性,指出整齐清爽的代码能够吸引人,而混乱的代码则会让人望而却步。接着,文章从代码文件头部结构、代码文件对象结构、类的内部代码结构、方法的代码结构、限定词的使用以及空行的使用等六大维度详细阐述了如何组织源代码文件。其中,对于每个部分都给出了具体的规范和建议,并通过实际代码示例进行了说明。最后,文章鼓励读者通过仔细思考和实际项目的实践来提升代码组织的能力,并邀请读者一起来动手优化给出的Java代码示例。通过本文的总结,读者可以快速了解到如何通过规范的代码组织方式来提高代码质量,同时也能感受到作者对于代码组织的重视和热情。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《代码精进之路》
新⼈⾸单¥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]; } }

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

    2019-01-28
    2
    4
  • 苦行僧
    一般用静态检查工具去发现问题

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

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

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

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

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

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