水木
水木
发布于 2024-09-28 / 14 阅读
0

代码大全2

链接: https://pan.baidu.com/s/1QK14_KJm8aJtspeYqq-8WQ?pwd=33id 提取码: 33id

出版社: 清华大学出版社
ISBN:9787302583646
版次:1
商品编码:13228095
品牌:清华大学
包装:平装
开本:16开
出版时间:2022-06-01
用纸:纯质纸
播放视频
产品特色

编辑推荐

史蒂夫·麦康奈尔(Steve McConnell)的《代码大全》是全球公认的编程最佳实用指南,十多年来一直帮助开发人员写出更好的软件。这本经典书籍包含行之有效的实践和数百个范例代码,充分展现了软件构建的艺术和科学。史蒂夫对学术界和日常商业实践进行了广泛的研究,从中萃取出精华,通过通俗易懂的表达方式和体例,形成了一套行之有效的技术、原理和实践体系,旨在帮助广大程序员以最快的速度、更少的时间、更少的预算,来写出质量更高、更优美的代码。




作为一本综合性强和实用性高的经典参考书,本书适合任何一个程序员阅读,无论经验水平、开发环境或项目规模如何,都可以从中得到启发,构建出高质量的代码,真正做到代码完成的境界。




透过本书,发现经得起时间考验的技巧和策略,从而帮助读者:

& 实现大道至简和更有创新的设计

& 收获合作开发的好处

& 应用防御性编程技术来减少和清除错误

& 利用机会来以安全的方式重构或演化代码

& 使用适合具体项目的构建实践

& 快速有效地调试问题

& 尽早正确地解决关键的构建问题

& 质量内建贯穿于整个项目周期,无论开始、中间和结尾




内容简介

《代码大全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 语句 40