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

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

成员变量与函数排列
依赖类排列
争议
不使用tab键
四格 vs 两格
逻辑清晰
限制
代码行数适宜
类中成员排列顺序
大括号位置
缩进
空行分割单元块
一行代码长度
类、函数大小
代码风格
命名和注释
代码质量改善
编程规范

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

上一节课中我们讲了命名和注释,这一节课我们来讲一下代码风格(Code Style)。说起代码风格,我们其实很难说哪种风格更好。最重要的,也是最需要我们做到的,是在团队、项目中保持风格统一,让代码像同一个人写出来的,整齐划一。这样能减少阅读干扰,提高代码的可读性。这才是我们在实际工作中想要实现的目标。
关于代码风格,我总结了 6 点我认为最值得关注的,今天跟你一块讨论学习一下。

1. 类、函数多大才合适?

总体上来讲,类或函数的代码行数不能太多,但也不能太少。类或函数的代码行数太多,一个类上千行,一个函数几百行,逻辑过于繁杂,阅读代码的时候,很容易就会看了后面忘了前面。相反,类或函数的代码行数太少,在代码总量相同的情况下,被分割成的类和函数就会相应增多,调用关系就会变得更复杂,阅读某个代码逻辑的时候,需要频繁地在 n 多类或者 n 多函数之间跳来跳去,阅读体验也不好。
那一个类或函数有多少行代码才最合适呢?
我们在第 15 讲中提到过,要给出一个精确的量化值是很难的。当时我们还跟做饭做了类比,对于“放盐少许”中的“少许”,即便是大厨也很难告诉你一个特别具体的量值。
对于函数代码行数的最大限制,网上有一种说法,那就是不要超过一个显示屏的垂直高度。比如,在我的电脑上,如果要让一个函数的代码完整地显示在 IDE 中,那最大代码行数不能超过 50。这个说法我觉得挺有道理的。因为超过一屏之后,在阅读代码的时候,为了串联前后的代码逻辑,就可能需要频繁地上下滚动屏幕,阅读体验不好不说,还容易出错。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

编程规范对于代码质量至关重要。本文总结了20条编程规范中的6点重点内容,以帮助读者快速改善代码质量。首先,对于类和函数的代码行数,应保持适中,避免逻辑过于繁杂或分割过多导致阅读困难。其次,一行代码的长度应控制在IDE显示宽度范围内,以便于阅读和维护。此外,善用空行分割单元块和合理缩进也有助于提高代码的可读性和整洁度。关于大括号的位置和类内成员的排列顺序,虽然存在争议,但团队统一和遵循业内规范是关键。总之,本文提供了实用的编程规范建议,有助于提升代码质量和团队协作效率。文章强调了代码风格的重要性,同时指出了不同风格选择的优缺点,鼓励读者在团队中统一风格,同时与业内推荐的风格保持一致。

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

全部留言(91)

  • 最新
  • 精选
  • 辣么大
    置顶
    这阵争哥节奏放缓,大家都能歇歇。前些篇文章确实硬核。我每篇看下来加查资料来至少要两个小时,总这么整谁能扛得住呀。争哥加油!
    2020-01-15
    7
    71
  • 何用
    “不管是用两格缩进还是四格缩进,一定不要用 tab 键缩进。” ——— 老师的这个观点我持相反的意见。我是推崇使用 tab 缩进的,这样每个人可以根据自己的喜好,在 IDE 自行定义一个 tab 在视觉上等于几个空格,富于弹性。至于 tab 和空格缩进可能混用的问题,工具可以很好地帮我们解决。
    2020-01-15
    19
    49
  • 睁眼看世界
    打卡,在idea中安装alibaba规约以及google-java-format Settings 对于code style很有帮助。
    2020-01-15
    2
    33
  • J.Smile
    争哥,多来点硬核的,这种编码规范来的有点多了,我们公司经常组织的,哈哈😄!
    2020-01-15
    9
    12
  • 守拙
    简单看了下<Google Java Style Guide>: 源代码文件使用utf-8编码. 这一点容易被忽略,但还是挺重要的.
    2020-01-15
    10
  • 人月聊IT
    这里推荐阿里的规范
    2020-05-18
    7
  • Binary
    没有人发现Spring的源码全都是用tab缩进的吗,这是为什么呢?
    2020-01-16
    2
    5
  • 阿顺
    之前的个人经验:在使用vscode或者sublime等编辑器时,团队一定要统一formatter插件,最好的就是统一编辑器且统一formatter插件。不然不同的人使用不同的formatter插件进行开发,就会出现尽管你只修改了某一行代码,format之后在git里看到的变更会有多处(因为修复了格式)的情况。这样导致code review工作量巨大
    2020-01-15
    1
    5
  • Jackey
    总的来说还是整齐最重要,一个团队就像一个人。大家都严格按照规范来写,再辅之以自动化检查工具,代码质量还是可以有保证的。就怕为“某段代码”破例,一破例就容易“决堤”😂
    2020-01-15
    4
  • 游魂客
    PHP近些年 开源框架还是 开源项目基本都是遵循 PHP FIG 组织制定的 PSR 规范. 风格基本统一了 PSR-2 规则 代码必须遵守 PSR-1。 代码必须使用4个空格来进行缩进,而不是用制表符。 一行代码的长度不建议有硬限制;软限制必须为120个字符,建议每行代码80个字符或者更少。 在命名空间(namespace)的声明下面必须有一行空行,并且在导入(use)的声明下面也必须有一行空行。 类(class)的左花括号必须放到其声明下面自成一行,右花括号则必须放到类主体下面自成一行。 方法(method)的左花括号必须放到其声明下面自成一行,右花括号则必须放到方法主体的下一行。 所有的属性(property)和方法(method) 必须有可见性声明;抽象(abstract)和终结(final)声明必须在可见性声明之前;而静态(static)声明必须在可见性声明之后。 在控制结构关键字的后面必须有一个空格;而方法(method)和函数(function)的关键字的后面不可有空格。 控制结构的左花括号必须跟其放在同一行,右花括号必须放在该控制结构代码主体的下一行。 控制结构的左括号之后不可有空格,右括号之前也不可有空格。
    2020-07-24
    3
收起评论
显示
设置
留言
91
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部