zoukankan      html  css  js  c++  java
  • 如何剖析一个类

    引用自:

    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++高级编程以及核心所在。

  • 相关阅读:
    MSSQL ADO.NET
    MSSQL 详解SQL Server连接(内连接、外连接、交叉连接)
    MSSQL DBOtherSQL
    java8时间转换成字符串
    泛型
    给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
    利用栈判断有效的括号
    回文数
    service层对 @NotBlank注解起作用
    集合的使用
  • 原文地址:https://www.cnblogs.com/fwycmengsoft/p/2986687.html
Copyright © 2011-2022 走看看