• 如何剖析一个类


    引用自:

    http://www.cnblogs.com/tekkaman/archive/2011/04/18/2019992.html

    阅读组内代码也好、开源代码也好,在OOP程序设计中,对代码中各个类的理解至关重要。经过大量的阅读与分析后,发一些小技巧可以加快与加强自己对代码的理解,现整理如下:

    如何剖析一个类:

    1、先看本类继承了哪些基类和实现了哪些接口

      类的第一行往往包含的是继续基类的信息以及实现接口的信息,所以在一开始就要弄清楚本类所依赖的类。我们假设代码的命名都是规范的,根据所继承基类的名字和接口的名字,我们可以暗自推测本类和基类的关系,以及本类实现的功能。

    2、关注成员变量

      大多数类功能的实现,都会需要本地类变量用以记录状态信息,根据类变量的个数、类型、命名,我们也可以推测本类所提供的功能。

    3、关注成员函数

      关注成员函数提供了哪些功能,在阅读成员函数代码时,特别要注意哪些函数操作了本地变量。(通常情况下绝大多数函数都操作了本地变量,因为如果不操作本地变量,则些函数应该外提)。另外,在阅读函数代码时,一定要理清哪些函数是对外提供服务的,哪些函数是仅在内部使用的,哪些函数是为了完成基类的实现的。

    4、关注静态成员变量和静态函数

      通常来说,一个类的静态成员变量和静态函数会很少。(当然不乏全是静态变量和函数的类),通常静态变量和函数的存在是为了为所有类提供统一的内部服务,也就是他们仅对内提供服务,不对外提供服务。因而,大多数情况下,无视这些变量和函数不会有类功能剖析产生多大影响,但是理解这些变量和函数存在的意义,则对类的内部实现会起到非常关键的作用。

    5、关注类中的宏定义

      宏定义常常起到一个开关的作用,觉的用法是在_DEBUG下实现某个功能,在NDEBUG下实现另一功能。所以对宏定义的关注,对类高级服务(在不同编译选项下的工作内容)的理解往往起到关键性的作用。

    6、关注模板参数

      模板参数往往放在类定义的第一行,我建议放在最后分析,是因为模板参数往往面向的一类服务。

    7、关注typedef宏定义

      略。

    小记:

      作为库代码,我觉得,任何变量和函数的存在都是有很多深刻的意义,为什么要存在这个变量?为什么变量要放在本类?为什么变量要这么命名?……种种引起的思考很多。一个类功能越是强大,那就越会引发阅读者的思考。一个功能弱小的类,常常是被阅读者秒过~~

      要想写得一手好代码,要想成为一个高级C++ Coder,那就多用宏、多用模板参数!!!这些才是C++高级编程以及核心所在。

  • 相关阅读:
    蒙哥马利最常做的一件事就是凝视着这张画像,思考着隆美尔的下一步棋会怎么走。
    oracle中的insert语句
    行列转换实列
    asp.net页面生存周期
    union union all
    朱可夫:“胜利的象征”
    “沙漠之鼠”蒙哥马利
    对session 与cookie的理解
    Oracle中日期/时间的操作
    Buuctfweb[极客大挑战 2019]EasySQL
  • 原文地址:https://www.cnblogs.com/fwycmengsoft/p/2986687.html
Copyright © 2020-2023  润新知