代码大全2(纪念版) : 软件构建之道

0
(0)

代码大全2(纪念版)
: 软件构建之道

作者:[美]史蒂夫·麦康奈尔(SteveMcConnell)

出版社:清华大学出版社

副标题:软件构建之道

原作名:CodeComplete,2ndEdition

译者:陈玉毅/陈军/杨志昂/洪佳/徐东伟/王国良/徐毅/李虎

出版年:2022-7-7

页数:916

定价:256.00

装帧:精装

ISBN:9787302583646

内容简介
······

《软件开发》杂志Jolt大奖

大而全,洞悉软件构建精髓

优而先,兼顾行业实践研究

奠定硬核技术领导力的经典

庸常变身卓越的实用性指导

《代码大全2》是著名科技类作家史蒂夫·麦康奈尔的经典著作,是一本完整的软件构建手册,涵盖了软件构建过程中的所有细节。它从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟时代潮流的新技术、高屋建瓴的观点、通用的概念,还含有丰富而典型的程序示例。本书所论述的技术不仅填补了初级与中高级编程技术之间的空白,而且也为程序员提供了一个有关编程技巧的信息来源。

本书的缘起与使命,响应计算机科学与技术委员会的报告,植根于“软件工程参考手册”这个基本的概念,同时兼顾软件质量和研发效能,对已有的高效软件工程实践进行全面收集、萃取、分类和传播(CSTB 1990, McConnell 1997a)。

这本书对经验丰富的程序员、技术带头人、自学的程序员及几乎不懂太多编程技巧的学生们都是大有裨益的。无论是什么背景的读者,阅读本书都有助于在更短的时间内、更容易地写出更好、更简洁、更优雅的程序。

作者简介
······

史蒂夫 · 麦康奈尔(Steve McConnell)与《代码大全》的故事

• 1985年,惠特曼文理学院获得哲学和计算机双学位。1991年,西雅图大学获得计算机硕士学位

• 1993年,4年累计3500小时的投入,《代码大全1》完工,出版发行后,迅速成为热点,并于当年 斩获《软件开发》杂志震撼图书大奖。此后十年,累计重印30多次,被翻译为10多种语言

• 1996年,成立Construx软件公司。此后二十多年,长期入围西雅图地区“小而美最佳雇主”名单

• 1998年,与Linux创始人林纳斯和比尔盖茨齐名,被《软件开发》杂志推选为最有影响力的三大人物

• 2004年,经过1000多个小时的全面修订,《代码大全2》出版发行。到目前为止,累计重印40多次,被翻译为30多种语言

关于作者本人,史蒂夫·麦康奈尔(Steve McConnell)

• 百万现象级科技类图书缔造者

• 会做(编程)又会教的一线程序员

• 《软件开发》杂志震撼图书大奖(两次)

• 《软件开发》杂志生产力大奖(两次)

• 西雅图大学杰出校友奖

• 《普吉特海湾商业期刊》40 UNDER 40杰出青年奖

• 波音和微软等公司顾问

• ACM(计算机学会)金牌核心奖章得主

• IEEE Software杂志主编

• 惠特曼文理学院优秀毕业生,PBK会员

目录
······

第Ⅰ部分奠定基础

第1章 欢迎来到软件构建的世界 003

第2章 通过隐喻更充分地理解软件开发 009

第3章 谋定而后动:前期准备 023

第4章 关键的构建决策 057

第II部分高质量的代码

第5章 软件构建的设计 069

第6章 可以工作的类 121

第7章 高质量的子程序 157

第8章 防御式编程 187

第9章 伪代码编程过程 215

第Ⅲ部分变量

第10章 变量使用中的常规问题 239

第11章 变量名称的威力 263

第12章 基本数据类型 295

第13章 不常见的数据类型 323

第Ⅳ部分语句

第14章 直线型代码的组织 353

第15章 使用条件语句 361

第16章 控制循环 373

第17章 不常见的控制结构 395

第18章 表驱动法 417

第19章 常规控制问题 437

第Ⅴ部分代码改进

第20章 软件质量概述 469

第21章 协同构建 483

第22章 开发人员测试 503

第23章 调试 541

第24章 重构 569

第25章 代码调优策略 591

第26章 代码调优技术 613

第Ⅵ部分系统化考虑

第27章 程序规模对构建的影响 651

第28章 管理构建 663

第29章 集成 693

第30章 编程工具 715

第Ⅶ部分软件匠艺

第31章 代码的布局和风格 733

第32章 自文档代码 781

第33章 个人性格 821

第34章 关于软件匠艺 837

第35章 更多信息来源 853

详细目录

第Ⅰ部分奠定基础

第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.4PPP的替代方案 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.1if语句 361

15.2case语句 367

第16章 控制循环 373

16.1选择循环类型 373

16.2控制循环 379

16.3轻松创建循环:由内而外 391

16.4循环和数组的对应关系 393

第17章 不常见的控制结构 395

17.1子程序中的多个返回点 395

17.2递归 397

17.3goto语句 402

17.4众说纷纭,谈谈不常见的控制结构 413

第18章 表驱动法 417

18.1表驱动法使用总则 417

18.2直接访问表 419

18.3索引访问表 431

18.4阶梯访问表 433

18.5表查询的其他示例 436

第19章 常规控制问题 437

19.1布尔表达式 437

19.2复合语句(语句块) 448

19.3空语句 449

19.4驾驭深层嵌套 451

19.5编程基础:结构化编程 460

19.6控制结构与复杂度 462

第Ⅴ部分代码改进

第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

第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.6IEEE标准 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

评论 ······

同事推荐的一本书,快速翻了一下。感觉好抽时间沉下心认真读读,有我想要的东西。

编写程序语言时非常有用的工具书,对编写的可读性帮助很大!

一本很实用的工具书,全球公认的编程使用指南,对从事和自学编程技术开发,以及应用的从业者帮助很大,知识点讲解很细致透彻,重点在于大而全,全面的阐述了帮助你写好代码的所有关键要素,500多个案例非常全。而且每章结尾还有读书小结分析,总之值得推荐阅读。

想到检查清单,真是一件利器。大家有这样的经历吗?来了一趟想走就走的旅行,结果半路上想起家里水电气到底有没有关啊?赶到机场,才发现充电器和Kindle给留在了酒店。最遗憾的是,有一次回到家,才发现自己特喜欢的一张斑点的围巾落在了箱根。Orz,做+确认,可以保证95分的正确。好习惯正是从这些细节中培养出来的。

点击星号评分!

平均分 0 / 5. 投票数: 0

还没有投票!请为他投一票。

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册