×
图文详情
  • ISBN:9787302583646
  • 装帧:一般纯质纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:883
  • 出版时间:2022-06-01
  • 条形码:9787302583646 ; 978-7-302-58364-6

本书特色

史蒂夫·麦康奈尔(Steve McConnell)的《代码大全》是全球公认的编程*佳实用指南,十多年来一直帮助开发人员写出更好的软件。这本经典书籍包含行之有效的实践和数百个范例代码,充分展现了软件构建的艺术和科学。史蒂夫对学术界和日常商业实践进行了广泛的研究,从中萃取出精华,通过通俗易懂的表达方式和体例,形成了一套行之有效的技术、原理和实践体系,旨在帮助广大程序员以*快的速度、更少的时间、更少的预算,来写出质量更高、更优美的代码。 作为一本综合性强和实用性高的经典参考书,本书适合任何一个程序员阅读,无论经验水平、开发环境或项目规模如何,都可以从中得到启发,构建出高质量的代码,真正做到代码完成的境界。 透过本书,发现经得起时间考验的技巧和策略,从而帮助读者: & 实现大道至简和更有创新的设计 & 收获合作开发的好处 & 应用防御性编程技术来减少和清除错误 & 利用机会来以安全的方式重构或演化代码 & 使用适合具体项目的构建实践 & 快速有效地调试问题 & 尽早正确地解决关键的构建问题 & 质量内建贯穿于整个项目周期,无论开始、中间和结尾

内容简介

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

目录

第Ⅰ部分 奠定基础

第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


展开全部

作者简介

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

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航