设计模式之美
王争
前 Google 工程师,《数据结构与算法之美》专栏作者
123425 人已学习
新⼈⾸单¥98
登录后,你可以任选6讲全文学习
课程目录
已完结/共 113 讲
设计模式与范式:行为型 (18讲)
设计模式之美
15
15
1.0x
00:00/00:00
登录|注册

31 | 理论五:让你最快速地改善代码质量的20条编程规范(上)

长命名 vs. 短命名
注释是不是越多越好?
注释到底该写什么?
如何命名接口和抽象类?
命名要可读、可搜索
利用上下文简化命名
命名多长最合适?
注释
命名
编程技巧(Coding Tips)
代码风格(Code Style)
命名与注释(Naming and Comments)
编程规范

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

前面我们讲了很多设计原则,后面还会讲到很多设计模式,利用好它们可以有效地改善代码质量。但是,这些知识的合理应用非常依赖个人经验,用不好有时候会适得其反。而我们接下来要讲的编码规范正好相反。编码规范大部分都简单明了,在代码细节方面,能立竿见影地改善质量。除此之外,我们前面也讲到,持续低层次、小规模重构依赖的基本上都是编码规范,这也是改善代码可读性的有效手段。
关于编码规范、如何编写可读代码,很多书籍已经讲得很好了,我在前面的加餐中也推荐过几本经典书籍。不过,这里我根据我自己的开发经验,总结罗列了 20 条我个人觉得最好用的编码规范。掌握这 20 条编码规范,能你最快速地改善代码质量。因为内容比较多,所以,我分为三节课来讲解,分别介绍编码规范的三个部分:命名与注释(Naming and Comments)、代码风格(Code Style)和编程技巧(Coding Tips)。

命名

大到项目名、模块名、包名、对外暴露的接口,小到类名、函数名、变量名、参数名,只要是做开发,我们就逃不过“起名字”这一关。命名的好坏,对于代码的可读性来说非常重要,甚至可以说是起决定性作用的。除此之外,命名能力也体现了一个程序员的基本编程素养。这也是我把“命名”放到第一个来讲解的原因。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文总结了编程规范中关于命名与注释、代码风格和编程技巧的重要内容。在命名方面,强调了命名的准确性和可读性,以及命名要符合项目的统一规范。在注释方面,指出了注释的目的是让代码更易于理解,内容应包括做什么、为什么、怎么做,以及对于复杂类和接口可能需要写明如何使用。此外,还讨论了注释数量的适度,以及如何通过好的命名、提炼函数、解释性变量和总结性注释来提高代码可读性。总的来说,这些编程规范可以帮助读者快速改善代码质量,提高代码的可读性和可维护性。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《设计模式之美》
新⼈⾸单¥98
立即购买
登录 后留言

全部留言(104)

  • 最新
  • 精选
  • zyl
    什么时候开始 进入正题呀,前奏太长了

    作者回复: 先从第一篇开始就是正题啊 😂 前面的比后面的更重要呢 建议你回过头去再看下前几篇文章

    2020-01-13
    16
    51
  • 逍遥思
    在 User 类这样一个上下文中,我们没有在成员变量的命名中重复添加“user”这样一个前缀单词,而是直接命名为 name、password、avatarUrl。 但示例代码好像都带了 user 前缀?

    作者回复: 这节课里的代码都没带吧

    2020-01-13
    2
    4
  • JRich
    检验字符是否0-9,a-z那行代码可读性不高,可以抽成一个方法,通过注释理解具体含义

    作者回复: 嗯嗯

    2020-11-27
  • 丨丨
    1 缺类注释 2 看团队英文水平

    作者回复: 嗯嗯 ������

    2020-11-26
  • 林星宇
    我不明白为什么会问注释用英文 或者中文来写 这种问题。又不是国际化项目为什么用英文,就算国际化项目,中国公司做的为什么不能用中文?

    作者回复: 都可以啊,用中文也没问题,只要公司达成一致就可以,别有的用中文,有的用英文

    2020-07-20
  • 堵车
    有没有相关的资料,能把开发中常用的缩写罗列出来?因为很多人都是乱用缩写,,,

    作者回复: 这个真没有,也很难

    2020-01-13
  • liyghting
    我是用jdk1.8,commons-lang3-3.6测试的,比如abcd. 在判断是否全是小写的时候。有“.”的话,就返回false,不满足password contains only a~z,0~9,dot。是不是有问题啊 还有判断password contains only a~z,0~9,dot的if代码 非!少了扣号 论单元测试的重要性

    作者回复: 嗯嗯 我改下

    2020-01-13
  • 牛顿的烈焰激光剑
    课堂讨论: 1. 关于 isValidPassword() 可读性优化: 示例代码中的单行注释已经把验证规则清楚列明,但是必须打开源代码才能看见。我认为可以在函数声明处使用文档注释(即多行注释)对规则进行描述,这样函数的使用者借助 IDE 的代码提示功能就能看到具体的规则,同时也为用工具生成的项目文档提供注释。 2. 关于注释用中文还是英文的问题:对于团队开发,如果有外国人当然要用英文;但是如果只有中国人,我认为最好用中文。首先是每个人的外语水平不一,外语水平好的看到别人的语法错误甚至连单词都拼错,真的很影响心情。对于外语水平不太好的,使用外语写注释不友好且心理压力大,甚至回过头再看都不知道自己当初想表达什么。团队中最重要的是相互合作和最后上线的产品,而不是相互折磨,如果要求使用英文注释会推高沟通成本,那就得不偿失。对于个人项目,选择中英注释均可,但应统一风格。我认为注释只是一个工具,用于降低沟通成本和提醒自己写代码时的思维逻辑和一些关键步骤,但是切不要对这个工具有过高的期望,譬如提高个人甚至团队的外语水平。
    2020-01-13
    4
    172
  • 白杨
    我们提倡面向离职写注释
    2020-03-29
    9
    118
  • 辣么大
    There are only two hard things in Computer Science: cache invalidation and naming things.-- Phil Karlton 命名达意、准确: 不知道如何命名,推荐:Codelf(变量命名神器) https://unbug.github.io/codelf/ Search over projects from Github, Bitbucket, Google Code, Codeplex, Sourceforge, Fedora Project, GitLab to find real-world usage variable names. 关于注释语言: 公司的项目看项目要求(中英文都可以) 自己的个人项目一定要用英文,因为一开始我就考虑到要做国际化的项目(目标是全球用户)。 如何写注释可以多看看JDK源码中的注释,能够学到很多东西。
    2020-01-13
    5
    62
收起评论
显示
设置
留言
99+
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部