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

15 | 编写规范代码的检查清单

产品设计和用户指南
异常处理和接口规范
代码排版和注释
命名规范
代码的可读性和易测试性
文件和文档
代码的编写
眼睛的运动
记忆模式
猜测模式
识别模式
两种思维模式
扩大代码的影响
降低维护的成本
提高编码的质量
提高编码的效率
指南的特征
标准的特征
一起来动手
小结
编码规范的检查清单
编码规范的心理因素
为什么需要编码规范?
标准与指南
编写规范代码的检查清单

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

通过前面十几讲的学习,我们已经把代码“规范”篇的内容学习完了。今天,我们一起把前面讨论到的观点总结一下,并探索一下编写规范代码时的最佳实践检查清单。一份有效的检查清单,可以帮助我们记忆、遵循和执行代码的一系列规范。

标准与指南

在讨论编码规范之前,我们首先要认识什么是标准,什么是指南,以及它们各自的局限性。这样我们就能知道,什么可以做,什么不可以做。
标准是既定的做事方式,它定义了一个事物如何始终如一地达到同样水准的细节。标准的特征在于,它既是必需的,也是强制的。
然而,在现实实践中,能够标准化的东西是有限的。所以就有了指南,它是标准的补充。
指南告诉我们应该采取的总体方向和最佳实践,它是一个指导原则,是建议,不强制执行。用户可以根据具体情况,决定是否遵循相关的条款。
我们所说的编码规范,实际上通常是指导原则。虽然不具备强制性,但我们也有必要区分对不同建议条款的态度,比如对使用“强烈推荐”这样字眼的建议来说,我们就应该格外重视。这样,可以避免不必要的争执,降低复杂性。

为什么需要编码规范?

1. 提高编码的效率
在不损害代码质量的前提下,效率可以节省我们的时间和成本。这种节省不仅仅停留在编码阶段,更体现在整个软件的生命周期里。我在第四篇已经详细解释了这一点。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

编写规范代码对于提高团队整体编码水平和软件质量至关重要。本文强调了编码规范的心理因素,包括思维模式、识别模式、猜测模式、记忆模式和眼睛的运动,这些对于编码规范的理解和应用具有重要的指导作用。文章提供了一份详细的编码规范的检查清单,包括代码的可读性、命名规范、注释、异常处理、接口规范等多个方面,以帮助读者提高代码质量。此外,文章还强调了编码规范的灵活性,需要根据具体环境和需求进行调整和完善。最后,鼓励读者根据自身实际情况,不断完善和丰富检查清单,以保持其长久的活力。总之,本文通过心理学原理解释了编码规范的基本规则,并提供了实用的检查清单,旨在帮助读者提高编码效率和质量。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《代码精进之路》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(7)

  • 最新
  • 精选
  • Sisyphus235
    我相信好的程序开发者实际的代码实践不会占到开发比例的一半,真正的功夫是在代码设计,开发点整理,团队沟通,文档梳理中。 设计清晰结构合理的工作开发效率自然高,定好接口各自开发要比先做着到时候再对接效率高。 代码实践时间占比越高说明前期工作越欠缺,没有准备的仗不好打

    作者回复: 同意。历练时间久了,还可能有一个有悖常理的现象:写代码的占用时间越少,可能写的代码还越多。

    2019-05-22
    7
  • Joey
    请教老师:代码质量量化的实践,可否分享一些,谢谢。

    作者回复: 这是一个很难的地方。OpenJDK的做法是依靠大量的测试保证功能的正确性,Code Review保证代码规范性和安全性,Feature Review保证需求和设计的合理性。

    2020-01-06
    2
  • 熊猫
    老师能提供下请求https接口的规范代码吗?如常用的okhttp,httpclient等常用框架,十分感谢!

    作者回复: 不懂okhttp。 对于httpclient,https和http使用相同的接口,,区别在于HttpRequest.url()是使用HTTPS还是HTTP的地址【1】。HttpClient.Builder构建还也以可以使用SSLContext和SSLParameters配置HTTPS参数【2】。 【1】的例子,把URL里的http前缀改成https就可以了。配置SSLContext和SSLParameters,请参考JSSE Reference Guides【3】。 【1】:https://openjdk.java.net/groups/net/httpclient/intro.html 【2】:https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpClient.Builder.html 【3】: https://docs.oracle.com/en/java/javase/12/security/java-secure-socket-extension-jsse-reference-guide.html

    2019-05-27
    1
  • 进化菌
    清单是个好东西,让人有条不紊的做事,而不至于遗漏。 代码规范的检查,一般是在review的时候会完整一点,平时简单看看,所以个人觉得检查清单应该也需要区分快与慢~

    作者回复: 快与慢,该怎么理解?

    2021-11-23
    2
  • 张亚运
    厉害了,横跨心理学,人体构造学,生物学多个角度说明编码规范的重要性
    2019-12-13
    1
    3
  • ifelse
    编码规范中很大一部分内容,是增加共识、减少意外,扩大自主思维模式覆盖的范围,减少控制模式必须参与的内容。--记下来
    2022-07-20
  • ifelse
    这个清单对我来说太长啦
    2022-07-20
收起评论
显示
设置
留言
7
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部