《C语言点滴》读书笔记(2)第2章编程基础知识(关键词:C语言/重构)

第2章 编程基础知识

2.1 编程语言

2.1.1 C 语言的昨天

由于一开始脱胎于UNIX 操作系统,C 语言中的很多特性更倾向于硬件。例如,C 语言中有现在我们几乎不会用到的register 关键字,用来描述CPU 的寄存器。C 语言中的数组从0 开始计数,而不是1。这让很多新手非常迷惑,你通过int a[100]定义了一个长度为100 的数组,但是却不能访问a[100]这个元素。但是数组从0 开始却可以让编译器更喜欢。虽然很多人建议ANSI 让数组从1 开始,但是标准就是标准,就算是错了,也不能轻易改动,因为毕竟不好解决与旧代码的兼容问题。数组从1 开始这个建议经过多次否决后,改革派依然不死心,最后提出了数组从0.5 开始这个折中的提议,ANSI 经过认真地思考,最终还是拒绝了。
(读者:读到这里,我笑死~~哈哈)

2.1.2 C 语言的今天

2.2 如何学好C 语言

2.3 开发平台

2.4 开发工具

2.4.1 集成开发工具
2.4.2 文档生成工具
2.4.3 版本控制工具
2.4.4 推荐开发流程

2.5 编程风格

2.5.1 变量名
2.5.2 缩进和大括号匹配
2.5.3 函数的长度和分布

1986 年,IBM 在OS/360 的研究结果中指出,大多数有错误的函数都大于500 行。长函数不仅容易出现问题,而且问题的查找和调试都非常困难。把所有的功能都塞到一个函数里面也不符合模块化编程的理念。模块化编程的一个基本思想就是分解,把不同的功能分解不同的模块中,模块可以是不同的.c 文件,也可以是不同的库。模块中不同的功能再继续分解到不同的函数中。一般情况下,哪怕是一个中小规模的任务,构建多个.c 文件,并把不同的功能分配到对应的.c 文件中不同的函数里也是正常并且正确的。

最后的一个建议就是一个函数应该只完成一个功能,并且长度最好局限在一个屏幕内一个函数内部的变量最好不要超过7 个,这样编写和查看都非常方便。相关功能的函数放到一个.c 文件,以便日后管理和复用。如果你不想把源码给别人复用的话,可以把对应的.c 文件编译成一个库文件。多文件项目也有一些需要注意的技术问题,具体的细节在第7章再给大家介绍。

2.5.4 编程字体
2.5.5 风格和重构

但是在程序2-3 的片段2 中,用10 定义了一个数组,没关系,你可以继续写,当你第二次用到10 这个数的时候,你就应该有点不舒服了。当你第三次用到10这个数字的时候,你就应该下决心,定义一个宏define N 10,然后把10 全部都替换N。这种后期动态修改代码的思想就叫重构,具体的内容大家可以参考《重构》[13]一书。

参考文献:
1.《C语言点滴》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值