美文网首页
if else 语句引发的遐想 【编写可读代码的艺术】读书小记

if else 语句引发的遐想 【编写可读代码的艺术】读书小记

作者: 别摸我蒙哥 | 来源:发表于2017-07-19 21:28 被阅读0次

条件语句

if-then语句

• 正常情况路径在代码中流向是否很分明?
• if-then语句在出现等号时流向是否正确?
• else语句是否有必要?
• else语句正确吗?
• if语句和else语句正确吗?它们是否弄反了?
• 正常情况是否跟在if后而非else后?

if-then-else语句

• 复杂的条件是否封装成布尔函数调用了?
• 最常见情况放在前面吗?
• 全部情况都覆盖住了吗?
• if-then-else语句是最好的选择吗?——用case语句代替是否更好?

case语句

• 各情况的安排次序有含义吗?
• 每种情况对应的操作简单吗?——如需要调用别的子程序。
• case语句中的变量有实际意义吗?它是为了用case语句而单纯地定义出来的伪变量吗?
• 缺省语句的用法是否合法(规范)?
• 用缺省语句检查和报告异常情况吗?
• 在C语言中,每一情况的结尾用了break了吗?

关键思想

把条件、循环以及其他对控制流的改变做的越“自然”越好。运用一种方式使读者不用停下来重复读你的代码。

比较下面两行代码:
while( bytes_received < bytes_expected )
while( bytes_expected > bytes_received )

很明显第一段代码更容易读,因为变量在前面,被比较的值在前面,具体规则如下:

比较的左侧 比较的右侧
"被询问的“表达式,它的值更倾向于不断变化 用来做比较的表达式,它的值更倾向于常量

if/else 中代码块的顺序

  • 首先处理正逻辑而不是负逻辑情况。例如,用 if(debug) 而不是 if(!debug)。
  • 先处理掉简单情况。这种方式可能还会使得 if 和 else 在屏幕之内都可见,its fine。
  • 先处理有趣的或者是可疑的情况。

三目运算符

三目运算是为了将多行代码缩减成一行,实际上实现效果一样,而且不容易调试。但是度量代码的可读性方法不是行数,而是人们理解它所需的时间,所以建议如下:

默认情况下都使用 if/else,三目运算符只有在最简单的情况下使用。

提早结束循环

通常来讲可以通过return,continue来提早返回减少嵌套,使代码更简洁。

摘抄字书【代码大全】【编写可读代码的艺术】

相关文章

  • if else 语句引发的遐想 【编写可读代码的艺术】读书小记

    条件语句 if-then语句 • 正常情况路径在代码中流向是否很分明?• if-then语句在出现等号时流向是...

  • 代码可读性

    这是一篇结合项目代码与《编写可读艺术的代码》一书结合的读书笔记 代码应当易于理解 《编写可读艺术的代码》这本书告诉...

  • 网站搜集

    读书 重构:改善既有代码的设计 编写可读代码的艺术: https://book.douban.com/subjec...

  • 编写可读代码的艺术

    【代码质量】: 代码行数、时间复杂度、内存消耗,准确率; 《clean code》:在代码阅读过程中人们说脏话的频...

  • 编写可读代码的艺术

    来源 《编写可读代码的艺术》 第2章 把信息装到名字里 1. 选择专业名词 找到更有表现力的词 2. 避免泛泛的名...

  • 编写可读代码的艺术

    以下是书里文字的引用与整理 前言 可读性基本定理:代码的写法应当使别人理解它所需的时间最小化。 一、表面层次的改进...

  • 《编写可读代码的艺术》

    1.调整心态认识到编写可读代码的必要性。在编写可拓展代码,可用代码和可读代码之间的优先级,编写可读代码较高;克服思...

  • 编写可读代码的艺术

    1.写在前面 最近花了一个周的零星时间,看了《编写可读代码艺术》,收获颇多。虽然平时也经常使用书中提到的一些方法编...

  • 编写可读代码的艺术

    "阅读本文大约需要 5 分钟" 很多程序员在学习一门新的编程语言时,会先学习基础的语法和自带的基础库,稍加熟练后便...

  • 编写可读代码的艺术

    先放大佬的视频教学地址:https://github.com/biezhi/write-readable-code...

网友评论

      本文标题:if else 语句引发的遐想 【编写可读代码的艺术】读书小记

      本文链接:https://www.haomeiwen.com/subject/zusrkxtx.html