zoukankan      html  css  js  c++  java
  • Code Complete读书笔记03

    2012-05-03

    Chapter13

    1、把指针操作限制在子程序或类里面

         例:对于一个链表,通过NextLink(),InsertLink(),DeleteLink()等子程序操作指针,即集中控制数据

    2、按正确的顺序删除指针(释放当前指针之前,确保已经有指向下一个元素的指针)

    3、删除或释放指针后将其设为空值(避免迷途指针)

    4、向子程序传递对象时→按引用传递而非按值(避免复制该对象,提高效率)

         当希望按值传递时(比如,不想误修改传入对象)→按const引用

    5、只有万不得已时才使用全局数据

         考虑以下替换方案

         1)先把变量设为局部的,仅当需要时才设为全局的

         2)区分全局变量和类变量→模块化

         3)使用访问器子程序

    6、创建一种命名规则来突出全局变量,且为全局变量创建一份注释良好的清单

    Chapter14

    Chapter15

    1、把正常情况的处理放在if后面而不是else后面

         即if(file.exist())

                            do……

            else             cerr<<”File don’t exist”;

    2、让if后面跟一个有意义的句子,避免诸如

         if(sometest)

                  ;

         else do…

         替代方案

         if(!sometest)

                  do……

    3、在写if→else if→else if……→else串的时候

         1,利用布尔函数简化复杂的检测

         2,把最常见的情况放最前面

         3,确保所有情况都考虑到

         例如,if(IsNumber(c))    …..

                    else if(IsLetter(c)) ……

                    else if(IsBlank(c)) ……

                    else ……

    4、case语句使用事项

         1,简化每种情况对应的操作

                  例如 case 1: statement1;

                                              statement2;

                                              statementn;

                  变为 case 1:   func();

                  func()

                  {

                            statement1……n;

                  }

         2,把default子句只用于检查真正的默认情况,不要把最后一种情况写为default

                  利用default子句检测错误

                  如case 1:         statement…

                     case 2:        statement…

                     default:      print(Error);

  • 相关阅读:
    iOS开发之JSONKit
    iOS开发之XMPPFramework环境搭建和配置
    iOS开发之UICollectionViewController
    iOS开发之UITableViewController重写
    Object-c 开发之property
    Git使用
    解决CocoaPods下载慢的问题
    解决Linux下编译adb和fastboot问题
    解决fastboot刷机内存消耗问题
    sql
  • 原文地址:https://www.cnblogs.com/yangtianxing/p/2482737.html
Copyright © 2011-2022 走看看