注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计代码大全2(最新中文纪念版)

代码大全2(最新中文纪念版)

代码大全2(最新中文纪念版)

定 价:¥256.00

作 者: [美]史蒂夫.麦康奈尔(Steve McConnell)著,陈玉毅 陈军 杨志昂 洪佳 徐东伟 王国良 徐毅 译
出版社: 清华大学出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787302583646 出版时间: 2022-06-01 包装: 平装-胶订
开本: 16开 页数: 字数:  

内容简介

  《代码大全2(纪念版)》作为名家经典著作,是一本完整的软件构建手册,涵盖软件构建过程中的所有细节。它从软件质量和编程思想等方面论述软件构建的各个主题,并详细论述主流的新技术、高屋建瓴的观点和通用的概念,还含有丰富而典型的程序示例。本书所论述的技术不仅填补了初级与中高级编程技术之间的空白,同时还为程序员提供了一个有关编程技巧的信息来源。《代码大全2(纪念版)》对经验丰富的程序员、技术带头人、自学的程序员及几乎不懂太多编程技巧的学生大有帮助。无论是什么背景的读者,都可以通过阅读和领会本书,在更短的时间内更轻松地写出更好、更简洁和更优雅的程序。

作者简介

  史蒂夫·麦康奈尔(Steve McConnell)屡获殊荣的科技类畅销书作家,他的两部作品《代码大全》和《快速软件开发》被《软件开发》杂志授予卓越产品震撼大奖,他的书被翻译成30种语言,在全球范围内销量超过一百万册。史蒂夫热衷于通过提高个人和团队的技能来提高软件组织的绩效。他是Construx Software公司的创始人兼首席执行官,该公司提供培训、咨询、辅导和免费资源,专注于更有效的软件开发实践。

图书目录

第Ⅰ部分 奠定基础
第1 章 欢迎来到软件构建的世界     003
1.1 什么是软件构建        003
1.2 软件构建为何如此重要        006
1.3 如何阅读本书       008
第2 章 通过隐喻更充分地理解软件开发        009
2.1 隐喻的重要性       009
2.2 如何使用软件隐喻      012
2.3 常见的软件隐喻        013
第3 章 谋定而后动:前期准备    023
3.1 前期准备的重要性      024
3.2 确定要开发什么类型的软件   030
3.3 定义问题的先决条件   034
3.4 需求的先决条件        036
3.5 架构的先决条件        041
3.6 前期准备所花费的时间        052
第4 章 关键的构建决策      057
4.1 编程语言的选择        057
4.2 编程约定     062
4.3 判断个人处于技术浪潮中的哪个阶段   062
4.4 选择重要的构建实践   065
第II 部分 高质量的代码
第5 章 软件构建的设计      069
5.1 设计挑战     070
5.2 关键设计概念       073
5.3 设计构建基块:启发式方法   083
5.4 设计实践     107
5.5 点评各种流行的方法论        115
第6 章 可以工作的类       121
6.1 类的基础:抽象数据类型(ADT)     122
6.2 良好的类接口       129
6.3 设计和实现问题        139
6.4 创建类的理由       149
6.5 语言特定问题       153
6.6 超越类:包        153
第7 章 高质量的子程序      157
7.1 创建子程序的正当理由        160
7.2 子程序级别的设计      165
7.3 好的子程序名称        169
7.4 一个子程序应该有多长        171
7.5 如何使用子程序参数   173
7.6 函数使用中的特别注意事项   180
7.7 宏子程序和内联子程序        182
第8 章 防御式编程      187
8.1 保护程序,使其免受无效输入的影响      188
8.2 断言          189
8.3 错误处理技术       194
8.4 异常          198
8.5 隔离程序,使之包容由错误造成的损害      203
8.6 调试辅助代码       205
8.7 确定在生产代码中保留多少防御式代码      209
8.8 对防御式编程采取防御的姿态      211
第9 章 伪代码编程过程      215
9.1 类和子程序构建步骤总结     215
9.2 面向专家的伪代码      218
9.3 使用PPP 构建子程序     220
9.4 PPP 的替代方案       233
第Ⅲ部分 变量
第10 章 变量使用中的常规问题     239
10.1 数据扫盲          240
10.2 简化变量声明     241
10.3 变量初始化指南      242
10.4 作用域      247
10.5 持久性      254
10.6 绑定时间          255
10.7 数据类型和控制结构之间的关系   257
10.8 每个变量只有一个用途      258
第11 章 变量名称的威力    263
11.1 选择好名称的注意事项      263
11.2 特定数据类型的命名     269
11.3 命名规范的威力      275
11.4 非正式的命名规范    276
11.5 前缀的标准化     283
11.6 创建可读的短名称    286
11.7 变量名称避坑指南    289
第12 章 基本数据类型     295
12.1 一般的数字        296
12.2 整型        297
12.3 浮点型      299
12.4 字符和字符串     302
12.5 布尔变量          305
12.6 枚举类型          307
12.7 具名常量          312
12.8 数组        314
12.9 创建自定义类型( 类型别名)      316
第13 章 不常见的数据类型       323
13.1 结构体      323
13.2 指针        327
13.3 全局数据          340
第Ⅳ部分 语句
第14 章 直线型代码的组织       353
14.1 顺序攸关的语句      353
14.2 顺序无关的语句      356
第15 章 使用条件语句     361
15.1 if 语句       361
15.2 case 语句        367
第16 章 控制循环    373
16.1 选择循环类型     373
16.2 控制循环          379
16.3 轻松创建循环:由内而外    391
16.4 循环和数组的对应关系      393
第17 章 不常见的控制结构       395
17.1 子程序中的多个返回点      395
17.2 递归        397
17.3 goto 语句         402
17.4 众说纷纭,谈谈不常见的控制结构    413
第18 章 表驱动法    417
18.1 表驱动法使用总则    417
18.2 直接访问表        419
18.3 索引访问表        431
18.4 阶梯访问表        433
18.5 表查询的其他示例    436
第Ⅴ部分 代码改进
第20 章 软件质量概述     469
20.1 软件质量的特性      469
20.2 改进软件质量的技术     472
20.3 质量保证技术的相对效能     475
20.4 何时进行质量保证    479
20.5 软件质量的普遍原理     479
第21 章 协同构建    483
21.1 协同开发实践概述    484
21.2 结对编程          487
21.3 正式审查          489
21.4 其他类型的协同开发实践     496
第22 章 开发人员测试     503
22.1 开发者测试对软件质量所起的作用       504
22.2 开发人员测试的推荐方法     507
22.3 一些测试技巧     509
22.4 典型错误         522
22.5 测试支持工具     528
22.6 改进测试          534
22.7 维护测试记录       535
第23 章 调试       541
23.1 调试问题概述     541
23.2 发现缺陷          546
23.3 修复缺陷          557
23.4 调试中的心理因素    560
23.5 那些显而易见和不太明显的调试工具     563
第24 章 重构       569
24.1 软件演变的类型      570
24.2 重构简介          571
24.3 特定的重构        577
24.4 安全重构          585
24.5 重构策略          587
第25 章 代码调优策略     591
25.1 性能概述          592
25.2 代码调优简介     595
25.3 各式各样的臃肿和蜜糖      601
25.4 度量        607
25.5 迭代        608
25.6 代码调优方法总结    609
第26 章 代码调优技术     613
26.1 逻辑        614
26.2 循环        619
26.3 数据变换          628
26.4 表达式      633
26.5 子程序      642
26.6 用低级语言重新编码     643
26.7 改得越多,越不会有大的改观      646
第Ⅵ部分 系统化考虑
第27 章 程序规模对构建的影响     651
27.1 沟通和规模        651
27.2 项目规模的范围      652
27.3 项目规模对错误的影响      653
27.4 项目规模对生产力的影响     655
27.5 项目规模对开发活动的影响        656
第19 章 常规控制问题     437
19.1 布尔表达式        437
19.2 复合语句( 语句块)   448
19.3 空语句      449
19.4 驾驭深层嵌套     451
19.5 编程基础:结构化编程      460
19.6 控制结构与复杂度    462
第28 章 管理构建    663
28.1 鼓励良好的编码实践     664
28.2 配置管理          666
28.3 评估构建进度表      673
28.4 度量        679
28.5 以人为本,善待每一位程序员      683
28.6 向上管理          689
第29 章 集成       693
29.1 集成方法的重要性    693
29.2 集成的频率,阶段式还是增量式   695
29.3 增量式集成策略      698
29.4 每日构建和冒烟测试     707
第30 章 编程工具    715
30.1 设计工具          716
30.2 源代码工具        716
30.3 可执行码工具     721
30.4 面向工具的环境      726
30.5 自己动手写编程工具     726
30.6 工具的幻境        728
第Ⅶ部分 软件匠艺
第31 章 代码的布局和风格       733
31.1 基本理论          734
31.2 布局技术          741
31.3 布局风格          743
31.4 控制结构的布局      750
31.5 单条语句的布局      757
31.6 注释的布局        768
31.7 子程序的布局     771
31.8 类的布局          772
第32 章 自文档代码       781
32.1 外部文档          781
32.2 编程风格即文档      782
32.3 注释,还是不注释    785
32.4 高效注释的关键      788
32.5 注释的技术        795
32.6 IEEE 标准        815
第33 章 个人性格    821
33.1 个人性格与本书主题有关     822
33.2 聪明与谦卑        823
33.3 好奇心      824
33.4 理性诚实          827
33.5 沟通与合作        830
33.6 创造力与规范     830
33.7 懒惰        831
33.8 没有想象中那么重要的性格因素   832
33.9 习惯        833
第34 章 关于软件匠艺     837
34.1 征服复杂性        837
34.2 优选开发过程     839
34.3 编写程序时,先考虑人,再考虑机器       840
34.4 深入语言去编程,而不是用语言来编程     842
34.5 借助于规范来保持专注      843
34.6 面向问题域编程      844
34.7 当心落石         846
34.8 迭代,迭代,迭代,重要的事情说三遍     848
34.9 警惕编程中的执念    849
试验        851
第35 章 更多信息来源     853
35.1 与软件构建相关的信息      853
35.2 软件构建之外的话题     854
35.3 出版物      856
35.4 软件开发者的阅读计划      857
35.5 加入专业组织     859
参考文献         861

本目录推荐