zoukankan      html  css  js  c++  java
  • 《代码阅读方法与实践》阅读笔记三

     本次阅读的是第八章至第十一章。前面几章讲的是阅读代码时的一些基础,后面这几章写的就是阅读关于代码的一些文档,系统架构。

      曾听老师多次强调文档是非常重要的,在以后的工作中我们的一大半时间都会用在写文档上。当然文档的阅读也是非常必要。直接阅读代码与阅读相应说明文档后再阅读代码相比,当然是后者更为高效,毕竟阅读意思明显的文字要比阅读复杂难懂的代码容易多了。文档中可以写出系统的算法理论基础,内部编程接口等,同时也可以包括已知的问题或bug,这些做法是非常明智的。但文档通常不像代码一样有规可循,文档常常会编写不恰当的信息。第一种是未记录的特性,许多没有正式支持,或只是作为测试,或者一些bug通常是不会被记录在档案的。第二种是过于理想化的描述。这就让我想到了在课上的用户需求,业务需求和系统需求。写文档应该实事求是,不是理想化而是实际化。

      编写程序时,我们有时会利用宏定义来减轻敲代码的负担,然而在一个项目的多个文件中,我们会不可避免的出现一些同名情况,尤其在全局函数和变量数目较多的情况下。这就是命名空间污染。这种错误,我们可以通过为标识符加入特定的前缀来避免。比如书中所说rnd.h文件中的所有类型,函数,宏标识符前都加上了rnd前缀。而现代C++多使用namespace功能来避免这些问题,将逻辑上同属一组的构成模块的程序实体,定义或生命在namespace控制块中。

      学会阅读代码非常重要且有利于我们学习代码。在阅读代码的过程中,我们能学到在书本上学不到的一些知识,也能从别人撰写的代码中学习别人写代码的一些技巧。学习阅读代码与学习代码同等重要。

  • 相关阅读:
    Java基础第十四天总结——面向对象(下)
    Java基础第十三天总结——面向对象(中)
    Java基础第十二天总结——面向对象(中)
    Java基础第十一天总结——面向对象(中)
    Java基础第十天总结——面向对象(上)
    Java基础第九天总结——面向对象(上)——再谈方法
    Java基础第八天总结——面向对象(上)——属性和方法
    Java基础第七天总结——数组
    python shelve 模块
    python正则表达式
  • 原文地址:https://www.cnblogs.com/022414ls/p/14209316.html
Copyright © 2011-2022 走看看