zoukankan      html  css  js  c++  java
  • 《代码大全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# 各版本的新特性
    EntityFramework增删改查
    web.config配置文件中的configSource属性
    IOC
    权限系统设计实现
    代码依赖和解除具体依赖的技术
    ajax利用html5新特性带进度条上传文件
    React Native 从入门到原理
    npm中本地安装命令行类型的模块是不注册Path的
    需求分析-验证控件的功能需求列表
  • 原文地址:https://www.cnblogs.com/j-y-s/p/14162419.html
Copyright © 2011-2022 走看看