当今的信息技术领域,不论从事所谓的软件还是硬件方面的研发工作,都会涉及到代码的编写。传统的程序设计类课程,一般都会从一种语言的语法要素、规则和语言结构等方面一步一步介绍如何“写”代码。然而,对于程序员来说,“阅读”代码而非“写”代码,才是最常见的实践活动。大多数程序开发类的工程实践活动,都需要我们对前人写的代码进行分析,修改和复用。随着开放源代码浪潮的兴起,阅读代码的能力将会成为一种越来越重要的实践能力。因此,将代码阅读作为一门正式的课程进行学习非常有必要。
通过本课程的教学,预期达到以下教学目的:
1. 能够阅读和理解重要软件(特别是系统软件)的代码
2. 领会一些重要的软件开发基本概念
3. 知道如何探索大型的代码体,并提取感兴趣的部分为己所用
4. 拥有阅读多数主流编程语言的能力
5. 认识和理解软件开发项目的复杂性以及基本的应对策略。
其教学内容如下:
1. 代码阅读导论
2. 代码阅读工具
3. C数据类型和数据结构
4. 高级控制流程
5. 大型开源项目代码阅读实践
6. 编码规范和约定、文档的撰写