- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何编写出可读性高的代码
如何编写出
可读性高的代码
对于一段程序代码,有哪些方面是重要的?
• 正确性:程序可以正确完成预期功能。
• 高效和轻量:程序在完成功能的过程中尽可能少地使用时间和计算资源。
• 可维护性:程序一旦出现问题,能够快速定位、修复问题。
• 可扩展性:当程序需求功能发生变化、或者需要添加新功能进入时,能够
便捷的基于现有代码进行扩展。
• ……
• 可维护性和可扩展性需要以可读性为基础
• 如果代码不可读或者难以理解,那么如何进行高效的维护?如何进行快速的扩展?
可读性的作用
• 一段可读性高的代码可以让人更容易做到:
• 了解到代码的结构
• 区分不同类型的符号
• 找到各种对应关系
• 发现其中的问题
• 此外,当软件规模超出一个人的能力范围,需要团队合作时,可读性是保
证他人能够理解你编写的代码的基础。
• 甚至,可读性也是保障自己日后仍然能够理解自己之前所写代码的基础。
保持可读性的成本?
• 磨刀不误砍柴工
• 写出高可读性的代码对于检查、调试的速度和质量的提高是非常有帮助的。
• 形成习惯之后,会下意识的写出符合规范的代码。写出不符合规范的代码
反而是需要花一些时间的。
• 当仅仅依靠记事本+等宽字体就可以完成美观的代码时,就说明良好的习惯已经
形成了。
例子:可读性差vs 可读性好
例子:非常差的可读性
• 每一个{对应的} 能立刻找到吗?
• 哪些语句属于if ?哪些属于else ?能区分吗?
• 哪些是字母?哪些是数字?
• 哪里是运算符?哪里是运算数?
•通通无法读懂
代码规范
• 在诸如Google这样的大型IT公司中,对于代码有严格的规范要求。
• 对于初学者,要求并不十分严格,但是也需要养成好的习惯。
代码规范:目录
• *字体
• *必要的换行
• *缩进与对齐
• 空格
• 颜色
• 变量及函数命名
• 以上内容,按照重要度从高到低的顺序排序,越靠前的越重要。
• 带*的内容是每一段代码都必须要注意的最低要求,务必要符合相关规范;
其它内容是更高要求,可以根据自身情况掌握。
• 本部分内容包含一些个人习惯,和最主流的习惯可能有差异,会用桔黄色
标出。
代码规范:目录
• *字体
• *必要的换行
• *缩进与对齐
• 空格
• 颜色
• 变量及函数命名
字体
• 编写代码一定要使用等宽字体,即所有英文字符都有完全一样的宽度。
• 不等宽字体举例:
• Helvetica
• 几种代码常用的等宽字体:
• Courier new: 0123456789abcdefghijklmnopqrstuvwxyz
• Consolas: 0123456789abcdefghijklmnopqrstuvwxyz
• Monaco: 0123456789abcdefghijklmnopqrstuvwxyz
字体
• 使用不等宽字体写出来的代码将是悲剧:
• 例:Helvertica
• 使用等宽字体的目的在于,使 “对齐”这一要求变成可能
代码规范:目录
• *字体
• *必要的换行
• *缩进与对齐
• 空格
• 颜色
• 变量及函数命名
必要的换行
• 通常情况下,C++代码中每个分号之后都要换行。
• 如果是意义相近、连续的短句,也可以写在一行。
• 以不影响阅读为标准
• 各句之间用空格分隔
• 一行尽可能不要超过70个字符。
必要的换行
• case语句之后要换行,并且缩进
可选的空行
• 有些地方可以通过加空行的方式来将代码划分为相对独立的部分
• 第9、26的换行
• 当然,通过加上注释是更好的
代码规范:目录
• *字体
• *必要的换行
• *缩进与对齐
• 空格
• 颜色
• 变量及函数命名
缩进与对齐
• 函数内部的内容、循环内部的内容、if/else 内部的内容需要向右缩进一格。
• 如果省略花括号,缩进也是不可省略的
• 关于花括号的位置,有两种习惯:
• 左括号另起一行v.s. 左括号跟在上一行行尾
• 两种习惯没有对错好坏之分,只看个人习惯
• 无论使用哪种习惯,代码内容(即// code here)的部分要向右缩进一格,
以表示这部分代码属于这对花括号内部一层。
缩进
您可能关注的文档
最近下载
- 2023年福建考评员考试答案.docx VIP
- 河南省洛阳涧西区2022—2023学年七年级下学期期中考试语文试卷.docx VIP
- 英语中考短语大全.doc VIP
- 2024《企业盈利能力分析的国内外文献综述》2400字.docx VIP
- 蓝碳生态系统碳汇计量监测技术规程.pdf VIP
- 2025年开封文化艺术职业学院单招职业适应性测试题库及答案一套.docx VIP
- 【广东卷】广东省2025年深圳市高三年级第一次调研考试(深圳一模)(2.19-2.21)化学试卷含答案或解析.pdf
- 医院护理品管圈:降低住院患儿雾化吸入的不配合率.ppt
- 2024年村居后备干部面试试题整理.doc
- 广东省深圳市宝安区2021-2022学年八年级下学期期末数学试卷(Word版含答案).docx VIP
文档评论(0)