关闭

《编写可读代码的艺术》读书笔记(下)简化循环和逻辑和重新组织代码

标签: 读书笔记可读代码简化循环
377人阅读 评论(0) 收藏 举报
分类:

把控制流变得宜读

关键思想:把条件,循环以及其他对控制流的改变做的越“自然”越好,运用一种方式使读者不用停下来重读你的代码
+ 条件语句中参数的顺序:比较左侧的值更倾向于变化的值,比较右侧的值倾向于常量
+ if/else语句块的顺序:先处理正逻辑和简单的情况
+ 三目运算符:其实是if/else的简化,默认情况下使用if/else,在最简单的情况下使用三目运算符
+ 避免do while循环
+ 从函数中提前返回
+ 最小化嵌套
* 通过提早返回来减少嵌套
* 减少循环内的嵌套

拆分超长的表达式:把你的超长表达式拆分成更容易理解的小块

  • 引入额外的变量用作解释的变量
  • 引入额外的变量用作总结的变量:将表达式的值总结为一个变量
  • 取反操作
  • 拆分巨大的语句

变量与可读性

  • 减少变量
    • 减少没有价值的临时变量
    • 减少中间结果
    • 减少控制流变量(某些控制程序方向的变量,例如enable)
  • 缩小变量的作用域(避免变量冲突)
  • 把定义向下移(避免读者提前思考变量的用法)
  • 只写一次的变量更好(易于理解)

抽取不相关的子问题(抽取代码,把一般代码和项目专有代码分开)

  • 纯工具代码(操作字符串等方法)
  • 其他多用途代码
  • 创建大量通用代码(从业务代码中解耦出来)
  • 简化已有接口(按需重塑接口)

一次只做一件事

  • 列出代码所做的所有任务
  • 尽量把这件任务拆分到不同的函数中,或者至少是代码中不同的段落中

把想法变成代码

  • 清楚的描述逻辑
  • 用自然语言描述解决方案
  • 将想法整理为代码

少写代码(最好读的代码就是没有代码)

  • 别费神实现那个功能–你不会需要它
  • 质疑和拆分你的需求
  • 保持小代码库(多层嵌套调用方法会让代码显得混乱:代码库越小越轻量级越好)
    • 创建越多越好的工具代码来减少重复代码
    • 减少无用代码或没用的功能
    • 删除无用的代码
  • 熟悉周边的库(建议:每隔一段时间,花一点时间阅读标准库的内容和定义)

测试与可读性

基本原则与上述原则基本一样在此不再赘述

读后

  自己之前一直不太注意代码可读性方面的问题,通过这本书,让我对写代码这件事有这件事有了更清晰的认识。需要在以后的工作中不断实践,提升代码的质量。代码质量提升是一个长时间的工程

《编写可读代码的艺术》读书笔记(上)表面层次的改进

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

可读代码的艺术(一):简化循环与逻辑

Chapter7 把控制流变得易读 条件语句中参数的位置: 一般原则:将变量放在左边,常量放在右边。更宽泛地说,将比较稳定的变量放在右边,变化较大的放在左边。 如 if ( length >...
  • bingduanlbd
  • bingduanlbd
  • 2015-01-05 18:15
  • 1378

化简复杂逻辑,编写紧凑的if条件语句

当业务逻辑很复杂,涉及多个条件的真假,或者多种条件下都会执行同一动作时,如何编写紧凑的if语句呢?本文借由一个实际例子,利用数学的布尔逻辑整理条件,最终产生if语句。 问题 在《X3 重聚》里,宇宙是...
  • gqqnb
  • gqqnb
  • 2013-08-29 14:26
  • 2986

《编写可读代码的艺术》读书笔记(二)

第一部分介绍了“表面层次的改进”,一次一行,在没有很大风险也不需要花很大代价的情况下改进代码的可读性。接下来,第二部分将讨论“简化循环和逻辑”这个主题,相对第一部分,第二部分的技巧方法通常都需要对代码...
  • e5Max
  • e5Max
  • 2013-10-03 23:14
  • 2092

编写可读代码的艺术读书笔记--简化和重新组织代码

第二部分:简化循环和逻辑 把控制流变得易读 关键思想:把条件、循环以及其他队控制流的改变做得越“自然”越好,运用一种方式使读者不用停下来重读你的代码。 拆分超长的表达式 关键思想:将超长的表达...
  • u010726042
  • u010726042
  • 2015-01-03 20:47
  • 469

《编写可读代码的艺术》读书笔记(二)

第一部分介绍了“表面层次的改进”,一次一行,在没有很大风险也不需要花很大代价的情况下改进代码的可读性。接下来,第二部分将讨论“简化循环和逻辑”这个主题,相对第一部分,第二部分的技巧方法通常都需要对代码...
  • e5Max
  • e5Max
  • 2013-10-03 23:14
  • 2092

编写可读代码的艺术读书笔记--把信息装到名字里

• 选择专业的词。       例如,“get”这个词就非常不专业,例如在下面的例子中: def GetPage(url)          “get”这个词没有表...
  • u010726042
  • u010726042
  • 2015-01-02 20:59
  • 405

《编写可读代码的艺术》读书笔记

发现以前看《编写可读代码的艺术》做的思维导图,今天有空就放上来了。 个人觉得这边还是挺值得看的,尤其是新人,可以很好的遵循里面的一些编码规范,养成好习惯。 就算是老鸟,也是可以参考总结一下的,我是...
  • sujun10
  • sujun10
  • 2017-01-21 18:36
  • 660

《编写可读代码的艺术》读书笔记(三)

这一部分我们将在函数级别对代码做一些改动以改善代码的可读性。 第10章 抽取不相关的子问题 本章的建议是“积极地发现并抽取出不相关的子问题”。 1、提炼纯工具代码并放置到项目中一个公共的地方。 2、创...
  • e5Max
  • e5Max
  • 2013-10-07 10:48
  • 1143

《编写可读代码的艺术》读书笔记(一)

The Art of Readable Code       作为程序员,日常工作的大部分时间都是花在一些“基本”的事情上,像是给变量、函数或类命名,写循环以及在函数级别解决问题。并且这其中很大的一...
  • e5Max
  • e5Max
  • 2013-10-03 17:51
  • 1811

编写可读代码的艺术读书笔记--审美与注释

审美         大家都愿意读有美感的代码,通过把代码用一致的、有意义的方式“格式化”,可以使代码变得更容易读,并且读的更快。 如果多个代码块作相似的事情,尝试让他们有相同的剪影。...
  • u010726042
  • u010726042
  • 2015-01-03 12:42
  • 499
    个人资料
    • 访问:39077次
    • 积分:1432
    • 等级:
    • 排名:千里之外
    • 原创:108篇
    • 转载:10篇
    • 译文:0篇
    • 评论:21条
    博客专栏
    最新评论
    学习群
    群号477107379