• 《代码大全2》阅读笔记06


    第14章 组织直线型代码
    Key Points:
    组织直线型代码的最主要原则是按照依赖关系进行排列
    可以用好的子程序名、参数列表、注释,以及——如果代码足够重要——内务管理变量来让依赖关系变得明显
    如果代码之间没有顺序依赖关系,那就设法使相关的语句尽可能的接近

    第15章 使用条件语句
    首先写正常代码路径;再处理不常见情况(这和秒大刀惯用的“短路”写法是相反的)
    把正常的处理放在if后面而不要放在else后面
    switch-case中的default子句只用于检测真正的默认情况或用来检测错误
    Key Points:
    对于简单的if-else语句,请注意if子句和else子句的顺序,特别是用它来处理大量错误的时候。要确认正常的情况是清晰的。
    对于if-then-else语句串和case语句,选择一种最有利于阅读的顺序
    为了捕获错误,可以使用case语句中的default子句,或者使用if-then-else语句串中的最后那个else子句
    各种控制结构并不是生来平等的。请为代码的每个部分选用最合适的控制结构

    第16章 控制循环
    for循环就是为了简单的用途,更复杂的循环最好用while循环去处理。在适当的情况下多使用for循环。
    一个循环只做一件事
    循环嵌套应控制在3层以内
    Key Points:
    循环很复杂。保持循环简单将有助于别人阅读你的代码
    保持循环简单的技巧包括:避免使用怪异的循环、减少嵌套层次、让入口和出口一目了然、把内务操作代码放在一起
    循环下标很容易被滥用。隐私命名要准确,并且要把它们各自仅用于一个用途
    仔细的考虑循环,确认它在每一种情况下都运转正常,并且在所有可能的条件下都能退出

    第17章 不常见的控制结构
    Key Points:
    多个return可以增强子程序的可读性和可维护性,同时可以避免产生很深的嵌套逻辑。但是使用它的时候要多加小心
    递归能够很优雅的解决一小部分问题。对它的使用也要倍加小心
    在少数情况下,goto是编写可读和可维护代码的最佳方法。但这种情况非常罕见。除非万不得已,不要使用goto

    第18章 表驱动法
    凡是能通过逻辑语句来选择的事物,都可以通过查表来选择。查表法在应对复杂逻辑时会更有效。
    编写到表里面的数据比嵌入代码的数据更容易维护
    表驱动非常灵活并且容易修改
    最好是去找一种好的方案而且同时避免引发灾难,而不要试图去寻找最佳方案
    Key Points:
    表提供了一种复杂的逻辑和集成结构的替代方案。如果你发现自己对某个应用程序的逻辑或者继承树关系感到困惑,那么问问自己它是否可以通过一个查询表来加以简化
    使用表的一项关键决策是决定如何去访问表。你可以采取直接访问、索引访问或者阶梯访问
    使用表的另一项关键决策是决定应该把什么内容放入表中

  • 相关阅读:
    C++ handle(句柄类) part2
    C++代理类的使用
    第一个blog
    C++ Handle(句柄) part1
    关于理想团队的构建和对软件流程的理解
    提供就医帮助的安卓APP
    上海地铁游移动APP需求分析
    关于学习了《构建之法》的若干存在疑惑的问题
    安卓APP开发简单实例 结对编程心得
    Vue修改Vue项目运行端口号(CLI2)
  • 原文地址:https://www.cnblogs.com/j-y-s/p/14162419.html
Copyright © 2020-2023  润新知