代码结构

2016年电子工业出版社出版的图书

《代码结构》是2016年8月电子工业出版社出版的图书,作者是魏家明。

内容简介
本书对如何优化代码结构做了深入的探讨,分为五个部分:编程问题与原则、编程格式与风格、如何让代码更容易读、如何做代码重构和C语言的一些要素。本书对这些部分做了重点探讨:代码中存在的各种问题,编程时要遵循的原则,编程时要注重格式、注释和名字,如何让表达式和控制流简单易读,如何消除代码中的重复冗余,如何切分代码和少写代码等。另外,本书还探讨了C语言设计中的一些要素和常见问题。
图书目录
第一部分 编程问题与原则
第1章 美的设计 2
1.1 美学观点 2
1.2 代码可读 2
1.3 适用范围 3
第2章 代码质量 4
2.1 外在特性 4
2.2 内在特性 4
2.3 一个故事 5
2.4 提升质量 5
第3章 代码问题 7
3.1 最混乱的 7
3.2 命名混乱 8
3.3 名实不副 8
3.4 格式混乱 9
3.5 注释混乱 9
3.6 重复冗余 9
3.7 臃肿庞大 9
3.8 晦涩难懂 10
3.9 过度耦合 10
3.10 滥用变量 10
3.11 嵌套太深 10
3.12 代码混杂 10
3.13 不确定性 11
3.14 太多警告 11
3.15 鸡同鸭讲 11
3.16 过度设计 11
3.17 基础不好 11
3.18 陈旧腐败 12
3.19 停滞不前 12
3.20 不可扩充 12
3.21 最后总结 12
第4章 人员问题 13
4.1 思维定势 13
4.2 思维顽固 14
4.3 小中见大 14
4.4 懒虫心理 14
4.5 粗枝大叶 15
4.6 巧合编程 15
4.7 应付差事 15
4.8 固步自封 15
4.9 疲惫不堪 15
4.10 环境混乱 16
4.11 管理失职 16
4.12 个人性格 16
第5章 编程原则 17
5.2 设计模式 18
5.3 编码风格 19
5.4 干干净净 19
第6章 编程之道 21
6.1 注重质量 21
6.2 遵守规则 22
6.3 简洁编程 22
6.4 整洁编程 23
6.5 快乐编程 24
6.6 团队协作 25
6.7 测试驱动 25
6.8 考虑全局 25
6.9 代码切分 26
6.10 代码重构 26
6.11 深入学习 27
6.12 寻求诗意 27
6.13 程序员节 28
第二部分 编程格式与风格
第7章 使用Emacs 30
7.1 Emacs介绍 30
7.2 Emacs安装 31
7.3 常用快捷键 31
7.4 笔者的“.emacs” 32
7.5 cua-mode 33
7.6 shell buffer 34
第8章 快速排序 35
8.1 算法简介 35
8.2 C/C++语言 35
8.3 Java 36
8.4 Perl 36
8.5 Verilog 37
第9章 格式优美 39
9.1 合理安排 39
9.2 横向缩进 40
9.3 纵向对齐 43
9.4 顺序书写 44
9.5 分组成块 45
9.6 添加空白 46
9.7 书写语句 47
9.8 书写表达式 47
9.9 Verilog部分 48
9.10 保持一致 49
9.11 代码例子 50
第10章 注释合理 52
10.1 无用的注释 52
10.2 有用的注释 58
10.3 如何写注释 62
第11章 名字定义 65
11.1 命名方法 65
11.2 命名 67
11.3 命名规则 73
11.4 名字使用 77
11.5 SPEC定义 77
第三部分 让代码更容易读
第12章 消除警告 84
12.1 不可忽视 84
12.2 警告类型 86
12.3 打开警告 87
第13章 精心用变量 89
13.1 修改变量的名字 89
13.2 进行变量初始化 90
13.3 减少变量的个数 91
13.4 缩小变量作用域 92
13.5 减少变量的操作 95
第14章 表达式易读 96
14.1 糟糕的表达式 96
14.2 使用中间变量 96
14.3 使用等价逻辑 98
14.4 简化判断逻辑 98
14.5 使用宏定义 99
14.6 使用查找表 99
14.7 注意操作符 101
14.8 简洁的写法 102
第15章 控制流易读 104
15.1 组织直线型代码 104
15.2 判断中的表达式 105
15.3 判断中的注意事项 105
15.4 判断中的参数顺序 106
15.5 判断中的赋值语句 106
15.6 if语句的逻辑顺序 107
15.7 使用“?:” 108
15.8 使用switch 108
15.9 使用return 109
15.10 选择for/while 109
15.11 少用do/while 110
15.12 少用goto 112
15.13 语句对比 113
15.14 减少嵌套 114
15.15 减少代码 117
第16章 设计好函数 119
16.1 不好的函数 119
16.2 好的函数 119
16.3 小的函数 120
16.4 递归调用 121
第四部分 如何做代码重构
第17章 代码重构 124
17.1 为什么重构 124
17.2 重构的好处 124
17.3 重构的难题 125
17.4 实际的例子 125
第18章 消除重复 128
18.1 代码重复的产生 128
18.2 代码重复的后果 128
18.3 代码重复的解决 129
18.4 消除重复的例子 129
第19章 代码切分 133
19.1 抽取独立的代码 133
19.2 设计通用的代码 135
19.3 简化已有的接口 137
19.4 一次只做一件事 138
19.5 让函数功能单一 142
19.6 删除无用的代码 144
第20章 少写代码 145
20.1 合适就刚刚好 145
20.2 保持代码简洁 145
20.3 使用循环解决 146
20.4 熟悉语言特性 147
20.5 熟悉库函数 147
20.6 熟悉系统工具 149
第21章 简化代码 150
21.1 重新设计代码 150
21.2 寻找更好算法 152
第22章 代码生成 155
22.1 配置Linux的内核 155
22.2 生成寄存器的代码 156
22.3 生成Benes的代码 157
第23章 代码测试 161
23.1 测试中问题 161
23.2 测试的原则 162
23.3 设计要更好 162
23.4 提高可读性 162
23.5 测试智能化 164
23.6 定位Bug 167
第五部分 C语言一些要素
第24章 关键字 170
第25章 类型 172
25.1 内部数据类型 172
25.2 新增数据类型 173
25.3 enum 173
25.4 struct 174
25.5 union 175
25.6 typedef 175
25.7 复杂的数据类型 177
25.8 Endian问题 177
第26章 变量 179
26.1 声明和定义 179
26.2 变量分类 179
26.3 const变量 183
26.4 volatile变量 185
26.5 混合声明 187
第27章 常量 188
27.1 常量类型 188
27.2 常量定义 189
27.3 常量区分 189
27.4 其他问题 189
第28章 操作 190
28.1 操作符表格 190
28.2 操作符解释 192
28.3 强制进行类型转换 199
28.4 运算时的类型转换 199
28.5 赋值时的类型转换 203
第29章 数组 206
29.1 数组的说明 206
29.2 初始化 206
29.3 字符串 207
29.4 复合常量赋值 208
29.5 函数中的变长数组 208
29.6 结构中的灵活数组 209
29.7 数组作为函数参数 209
29.8 数组和指针 210
第30章 指针 212
30.1 指针的说明 212
30.2 啰嗦的指针 213
30.3 void * 214
30.4 restrict 215
30.5 多级指针 216
30.6 数组指针和指针数组 217
30.7 函数指针和指针函数 219
30.8 malloc 222
30.9 alloca 223
30.10 指针使用中的问题 223
第31章 语句 225
31.1 if 225
31.2 switch 225
31.3 for和while 226
31.4 do {...} while 226
31.5 break 227
31.6 return 228
31.7 goto 228
31.8 exit 229
31.9 复合语句 229
30.10 空语句 229
第32章 函数 231
32.1 void 231
32.2 static 231
32.3 inline 231
32.4 函数原型 232
32.5 参数可变 233
32.6 其他讨论 234
第33章 库函数 235
33.1 使用getopt 235
33.2 使用qsort 236
33.3 文件模式问题 236
33.4 返回值的问题 238
33.5 控制字符问题 238
33.6 缓冲区问题 239
33.7 可重入问题 240
第34章 预处理 242
34.1 文件包含 242
34.2 宏定义 244
34.3 条件编译 248
34.4 其他命令 249
34.5 预处理输出 249
第35章 错误处理 250
35.1 错误检查和处理 250
35.2 封装函数 250
35.3 使用断言 251
第36章 内存映像 254
36.1 程序编译后的section 254
36.2 程序运行时的内存空间 255
36.3 简单的malloc.c 255
第37章 汇编语言 258
37.1 如非必要 258
37.2 熟悉ABI 259
37.3 汇编例子 259
第38章 GCC特色 261
38.1 MinGW 261
38.2 执行过程 262
38.3 内嵌汇编 262
38.4 __attribute__ 264
参考文献 266
全国各地天气预报查询

上海市

  • 市辖区
  • 云南省

  • 临沧市
  • 云南省

  • 丽江市
  • 云南省

  • 保山市
  • 云南省

  • 大理白族自治州
  • 云南省

  • 德宏傣族景颇族自治州
  • 云南省

  • 怒江傈僳族自治州
  • 云南省

  • 文山壮族苗族自治州
  • 云南省

  • 昆明市
  • 云南省

  • 昭通市
  • 云南省

  • 普洱市
  • 云南省

  • 曲靖市
  • 云南省

  • 楚雄彝族自治州
  • 云南省

  • 玉溪市
  • 云南省

  • 红河哈尼族彝族自治州
  • 云南省

  • 西双版纳傣族自治州
  • 云南省

  • 迪庆藏族自治州
  • 内蒙古自治区

  • 乌兰察布市
  • 内蒙古自治区

  • 乌海市
  • 内蒙古自治区

  • 兴安盟
  • 内蒙古自治区

  • 包头市
  • 内蒙古自治区

  • 呼伦贝尔市
  • 内蒙古自治区

  • 呼和浩特市
  • 内蒙古自治区

  • 巴彦淖尔市
  • 内蒙古自治区

  • 赤峰市
  • 内蒙古自治区

  • 通辽市
  • 内蒙古自治区

  • 鄂尔多斯市
  • 内蒙古自治区

  • 锡林郭勒盟
  • 内蒙古自治区

  • 阿拉善盟
  • 北京市

  • 市辖区
  • 吉林省

  • 吉林市
  • 吉林省

  • 四平市
  • 吉林省

  • 延边朝鲜族自治州
  • 吉林省

  • 松原市
  • 吉林省

  • 白城市
  • 吉林省

  • 白山市
  • 吉林省

  • 辽源市
  • 吉林省

  • 通化市
  • 吉林省

  • 长春市
  • 四川省

  • 乐山市
  • 四川省

  • 内江市
  • 四川省

  • 凉山彝族自治州
  • 四川省

  • 南充市
  • 四川省

  • 宜宾市
  • 四川省

  • 巴中市
  • 四川省

  • 广元市
  • 四川省

  • 广安市
  • 四川省

  • 德阳市
  • 四川省

  • 成都市
  • 四川省

  • 攀枝花市
  • 四川省

  • 泸州市
  • 四川省

  • 甘孜藏族自治州
  • 四川省

  • 眉山市
  • 四川省

  • 绵阳市
  • 四川省

  • 自贡市
  • 四川省

  • 资阳市
  • 四川省

  • 达州市
  • 四川省

  • 遂宁市
  • 四川省

  • 阿坝藏族羌族自治州
  • 四川省

  • 雅安市
  • 天津市

  • 市辖区
  • 宁夏回族自治区

  • 中卫市
  • 宁夏回族自治区

  • 吴忠市
  • 宁夏回族自治区

  • 固原市
  • 宁夏回族自治区

  • 石嘴山市
  • 宁夏回族自治区

  • 银川市
  • 安徽省

  • 亳州市
  • 安徽省

  • 六安市
  • 安徽省

  • 合肥市
  • 安徽省

  • 安庆市
  • 安徽省

  • 宣城市
  • 安徽省

  • 宿州市
  • 安徽省

  • 池州市
  • 安徽省

  • 淮北市
  • 安徽省

  • 淮南市
  • 安徽省

  • 滁州市
  • 安徽省

  • 芜湖市
  • 安徽省

  • 蚌埠市
  • 安徽省

  • 铜陵市
  • 安徽省

  • 阜阳市
  • 安徽省

  • 马鞍山市
  • 安徽省

  • 黄山市
  • 山东省

  • 东营市
  • 山东省

  • 临沂市
  • 山东省

  • 威海市
  • 山东省

  • 德州市
  • 山东省

  • 日照市
  • 山东省

  • 枣庄市
  • 山东省

  • 泰安市
  • 山东省

  • 济南市
  • 山东省

  • 济宁市
  • 山东省

  • 淄博市
  • 山东省

  • 滨州市
  • 山东省

  • 潍坊市
  • 山东省

  • 烟台市
  • 山东省

  • 聊城市
  • 山东省

  • 菏泽市
  • 山东省

  • 青岛市
  • 山西省

  • 临汾市
  • 山西省

  • 吕梁市
  • 山西省

  • 大同市
  • 山西省

  • 太原市
  • 山西省

  • 忻州市
  • 山西省

  • 晋中市
  • 山西省

  • 晋城市
  • 山西省

  • 朔州市
  • 山西省

  • 运城市
  • 山西省

  • 长治市
  • 山西省

  • 阳泉市
  • 广东省

  • 东莞市
  • 广东省

  • 中山市
  • 广东省

  • 云浮市
  • 广东省

  • 佛山市
  • 广东省

  • 广州市
  • 广东省

  • 惠州市
  • 广东省

  • 揭阳市
  • 广东省

  • 梅州市
  • 广东省

  • 汕头市
  • 广东省

  • 汕尾市
  • 广东省

  • 江门市
  • 广东省

  • 河源市
  • 广东省

  • 深圳市
  • 广东省

  • 清远市
  • 广东省

  • 湛江市
  • 广东省

  • 潮州市
  • 广东省

  • 珠海市
  • 广东省

  • 肇庆市
  • 广东省

  • 茂名市
  • 广东省

  • 阳江市
  • 广东省

  • 韶关市
  • 广西壮族自治区

  • 北海市
  • 广西壮族自治区

  • 南宁市
  • 广西壮族自治区

  • 崇左市
  • 广西壮族自治区

  • 来宾市
  • 广西壮族自治区

  • 柳州市
  • 广西壮族自治区

  • 桂林市
  • 广西壮族自治区

  • 梧州市
  • 广西壮族自治区

  • 河池市
  • 广西壮族自治区

  • 玉林市
  • 广西壮族自治区

  • 百色市
  • 广西壮族自治区

  • 贵港市
  • 广西壮族自治区

  • 贺州市
  • 广西壮族自治区

  • 钦州市
  • 广西壮族自治区

  • 防城港市
  • 新疆维吾尔自治区

  • 乌鲁木齐市
  • 新疆维吾尔自治区

  • 伊犁哈萨克自治州
  • 新疆维吾尔自治区

  • 克孜勒苏柯尔克孜自治州
  • 新疆维吾尔自治区

  • 克拉玛依市
  • 新疆维吾尔自治区

  • 博尔塔拉蒙古自治州
  • 新疆维吾尔自治区

  • 吐鲁番市
  • 新疆维吾尔自治区

  • 和田地区
  • 新疆维吾尔自治区

  • 哈密市
  • 新疆维吾尔自治区

  • 喀什地区
  • 新疆维吾尔自治区

  • 塔城地区
  • 新疆维吾尔自治区

  • 巴音郭楞蒙古自治州
  • 新疆维吾尔自治区

  • 昌吉回族自治州
  • 新疆维吾尔自治区

  • 自治区直辖县级行政区划
  • 新疆维吾尔自治区

  • 阿克苏地区
  • 新疆维吾尔自治区

  • 阿勒泰地区
  • 江苏省

  • 南京市
  • 江苏省

  • 南通市
  • 江苏省

  • 宿迁市
  • 江苏省

  • 常州市
  • 江苏省

  • 徐州市
  • 江苏省

  • 扬州市
  • 江苏省

  • 无锡市
  • 江苏省

  • 泰州市
  • 江苏省

  • 淮安市
  • 江苏省

  • 盐城市
  • 江苏省

  • 苏州市
  • 江苏省

  • 连云港市
  • 江苏省

  • 镇江市
  • 江西省

  • 上饶市
  • 江西省

  • 九江市
  • 江西省

  • 南昌市
  • 江西省

  • 吉安市
  • 江西省

  • 宜春市
  • 江西省

  • 抚州市
  • 江西省

  • 新余市
  • 江西省

  • 景德镇市
  • 江西省

  • 萍乡市
  • 江西省

  • 赣州市
  • 江西省

  • 鹰潭市
  • 河北省

  • 保定市
  • 河北省

  • 唐山市
  • 河北省

  • 廊坊市
  • 河北省

  • 张家口市
  • 河北省

  • 承德市
  • 河北省

  • 沧州市
  • 河北省

  • 石家庄市
  • 河北省

  • 秦皇岛市
  • 河北省

  • 衡水市
  • 河北省

  • 邢台市
  • 河北省

  • 邯郸市
  • 河南省

  • 三门峡市
  • 河南省

  • 信阳市
  • 河南省

  • 南阳市
  • 河南省

  • 周口市
  • 河南省

  • 商丘市
  • 河南省

  • 安阳市
  • 河南省

  • 平顶山市
  • 河南省

  • 开封市
  • 河南省

  • 新乡市
  • 河南省

  • 洛阳市
  • 河南省

  • 漯河市
  • 河南省

  • 濮阳市
  • 河南省

  • 焦作市
  • 河南省

  • 省直辖县级行政区划
  • 河南省

  • 许昌市
  • 河南省

  • 郑州市
  • 河南省

  • 驻马店市
  • 河南省

  • 鹤壁市
  • 浙江省

  • 丽水市
  • 浙江省

  • 台州市
  • 浙江省

  • 嘉兴市
  • 浙江省

  • 宁波市
  • 浙江省

  • 杭州市
  • 浙江省

  • 温州市
  • 浙江省

  • 湖州市
  • 浙江省

  • 绍兴市
  • 浙江省

  • 舟山市
  • 浙江省

  • 衢州市
  • 浙江省

  • 金华市
  • 海南省

  • 三亚市
  • 海南省

  • 三沙市
  • 海南省

  • 儋州市
  • 海南省

  • 海口市
  • 海南省

  • 省直辖县级行政区划
  • 湖北省

  • 十堰市
  • 湖北省

  • 咸宁市
  • 湖北省

  • 孝感市
  • 湖北省

  • 宜昌市
  • 湖北省

  • 恩施土家族苗族自治州
  • 湖北省

  • 武汉市
  • 湖北省

  • 省直辖县级行政区划
  • 湖北省

  • 荆州市
  • 湖北省

  • 荆门市
  • 湖北省

  • 襄阳市
  • 湖北省

  • 鄂州市
  • 湖北省

  • 随州市
  • 湖北省

  • 黄冈市
  • 湖北省

  • 黄石市
  • 湖南省

  • 娄底市
  • 湖南省

  • 岳阳市
  • 湖南省

  • 常德市
  • 湖南省

  • 张家界市
  • 湖南省

  • 怀化市
  • 湖南省

  • 株洲市
  • 湖南省

  • 永州市
  • 湖南省

  • 湘潭市
  • 湖南省

  • 湘西土家族苗族自治州
  • 湖南省

  • 益阳市
  • 湖南省

  • 衡阳市
  • 湖南省

  • 邵阳市
  • 湖南省

  • 郴州市
  • 湖南省

  • 长沙市
  • 甘肃省

  • 临夏回族自治州
  • 甘肃省

  • 兰州市
  • 甘肃省

  • 嘉峪关市
  • 甘肃省

  • 天水市
  • 甘肃省

  • 定西市
  • 甘肃省

  • 平凉市
  • 甘肃省

  • 庆阳市
  • 甘肃省

  • 张掖市
  • 甘肃省

  • 武威市
  • 甘肃省

  • 甘南藏族自治州
  • 甘肃省

  • 白银市
  • 甘肃省

  • 酒泉市
  • 甘肃省

  • 金昌市
  • 甘肃省

  • 陇南市
  • 福建省

  • 三明市
  • 福建省

  • 南平市
  • 福建省

  • 厦门市
  • 福建省

  • 宁德市
  • 福建省

  • 泉州市
  • 福建省

  • 漳州市
  • 福建省

  • 福州市
  • 福建省

  • 莆田市
  • 福建省

  • 龙岩市
  • 西藏自治区

  • 山南市
  • 西藏自治区

  • 拉萨市
  • 西藏自治区

  • 日喀则市
  • 西藏自治区

  • 昌都市
  • 西藏自治区

  • 林芝市
  • 西藏自治区

  • 那曲市
  • 西藏自治区

  • 阿里地区
  • 贵州省

  • 六盘水市
  • 贵州省

  • 安顺市
  • 贵州省

  • 毕节市
  • 贵州省

  • 贵阳市
  • 贵州省

  • 遵义市
  • 贵州省

  • 铜仁市
  • 贵州省

  • 黔东南苗族侗族自治州
  • 贵州省

  • 黔南布依族苗族自治州
  • 贵州省

  • 黔西南布依族苗族自治州
  • 辽宁省

  • 丹东市
  • 辽宁省

  • 大连市
  • 辽宁省

  • 抚顺市
  • 辽宁省

  • 朝阳市
  • 辽宁省

  • 本溪市
  • 辽宁省

  • 沈阳市
  • 辽宁省

  • 盘锦市
  • 辽宁省

  • 营口市
  • 辽宁省

  • 葫芦岛市
  • 辽宁省

  • 辽阳市
  • 辽宁省

  • 铁岭市
  • 辽宁省

  • 锦州市
  • 辽宁省

  • 阜新市
  • 辽宁省

  • 鞍山市
  • 重庆市

  • 重庆市

  • 市辖区
  • 陕西省

  • 咸阳市
  • 陕西省

  • 商洛市
  • 陕西省

  • 安康市
  • 陕西省

  • 宝鸡市
  • 陕西省

  • 延安市
  • 陕西省

  • 榆林市
  • 陕西省

  • 汉中市
  • 陕西省

  • 渭南市
  • 陕西省

  • 西安市
  • 陕西省

  • 铜川市
  • 青海省

  • 果洛藏族自治州
  • 青海省

  • 海东市
  • 青海省

  • 海北藏族自治州
  • 青海省

  • 海南藏族自治州
  • 青海省

  • 海西蒙古族藏族自治州
  • 青海省

  • 玉树藏族自治州
  • 青海省

  • 西宁市
  • 青海省

  • 黄南藏族自治州
  • 黑龙江省

  • 七台河市
  • 黑龙江省

  • 伊春市
  • 黑龙江省

  • 佳木斯市
  • 黑龙江省

  • 双鸭山市
  • 黑龙江省

  • 哈尔滨市
  • 黑龙江省

  • 大兴安岭地区
  • 黑龙江省

  • 大庆市
  • 黑龙江省

  • 牡丹江市
  • 黑龙江省

  • 绥化市
  • 黑龙江省

  • 鸡西市
  • 黑龙江省

  • 鹤岗市
  • 黑龙江省

  • 黑河市
  • 黑龙江省

  • 齐齐哈尔市