新闻资讯
看你所看,想你所想

CodeCraft编程匠艺:编写卓越的代码

CodeCraft编程匠艺:编写得父卓越的代码的内容来自遍及编程的各个要素,如代码风格、变量命名、错误处理和安全性等。此外,本书还对一些更广泛的编程问题360百科进行了探讨,如有效的团队合作、开发过程和文档编写,等等。本书各章的末尾均提供一些思考问题,这些问题回顾了各章中的一些关键概念,可以促使你像专家一样思考,从而使本书成为那些渴望作为团队的一分子,职业并高效地编程的新手们的一本绝佳的参考书。

  • 中文名 CodeCraft编程匠艺:编写卓越的代码
  • 定价 79.00 元
  • 出版社 电子工业出版社
  • 作者 (美国)(Goodliffe.P.)古德利弗
  • 出版时间 2008

版权信息

来自  书 名: CodeCraft编程匠艺:编写卓越的代码

CodeCraft编程匠艺:编写卓越的代码

  作 者:360百科(美国)(Goodliffe.P.)古德利弗

  出版社: 电子工业出版社

  出版时间: 2008

  ISBN: 9细酒李蒸领格酒垂京喜川787121069802

  开本: 16

  定价: 79.00 元

推荐

  《编程匠艺》中随处可见与编程语言无关、但是与所有开发人员都相关的建议,其内容遍及编程的各个要素,如代码风格列红所帮化概房观、变量命名、错误处理和安全性等。不仅如此,它还触及了一些更广泛的现实世界编程问题,如有效的团队合作、开发过程和文档编写,等等。《CodeCraft编程匠艺--编写室绝社取块才卓越的代码》各章末尾均有一个问题和答案部分,这些部分回顾了各章中的一些关键概念,促使你像专家一样思考,从而使这《CodeCraft编程匠艺--编写卓越的代码》成为那些渴望作为团队的一分子、专业并高效地编程的新手们的一本绝佳的参考书。《CodeCraft编程匠艺--编写卓越的代码》将告克太情诉你如何:

  ●在现实世界困杨菜这读跟衣奏难重重的情况下编写出优秀的代码;

  ●避免在工作场所出现灾难和人心涣散的情况;

  ●准确地评估你的能力,并找到提高的途径;

  ●采取有建设性的态度,并遵从最佳的做法。

  第1章善于防守

  1.1向优秀的代码前进4

  1.2设想:最坏的选择4

  1.3什么是防御性编程6

  1.4又大又坏的世界8

  1.5防御性转随吗编程技巧8

  1.5.1使用好的编码风格和合理的设计9

  1.5.2不要仓排金探亲死促地编写代码9

  1.5.3不要相信任何人10

  1.5.4编码的目标是清晰殖静连素黑超,而不是简洁10

  1执叶会但杆赵存行.5.5不要让任何人做他们不该做的修补工作11

  1.5.6编译时打开所有警告开关11

  1.5.7使用静态分析工具12

  1.5.8使用安全的钟连联技业乐黑探讨然够数据结构12

  1.5.9开称现响检查所有的返回值13

  1.5.10审慎地处理内赵散电失术存(和其他宝贵的资源除啊屋马点)13

  1.5.11在声明位置初始化所有变量14

  1.5.12尽可能推迟一些声笑执明变量14

  1.5.13使用标准语言工具14

  1.5.1群波系机亚得诗行4使用好的诊断信息已免货少盟松谓预线据践日志工具15

  1.5.15审慎地进行强制转换15

  1.5.16细则15

  1.6约束16

  1.6.1约束的内容17

  1.6.2移除约束18

  1.7总结20

  1.8另请参见20

  1.9思考21

  1.9.1深入思考21

  1.9.2结合自己22

  第2章精心布局

  2.1什么是关键24

  2.2了解你的读者25

  2.3什么是好的样式26

  2.4使用括号26

  2.4.1K&R括号风格27

  2.4.2悬挂式的括号风格27

  2.4.3缩进的括号风格29

  2.4.4其他的括号风格29

  2.5主宰一切的风格30

  2.6内部风格(以及在哪里使用它们)31

  2.7设立标准33

  2.8正义的战争35

  2.9总结35

  2.10另请参见37

  2.11思考37

  2.11.1深入思考37

  2.11.2结合自己38

  第3章名正言顺

  3.1为什么我们应该恰当地命名呢41

  3.2我们对什么进行命名41

  3.3名字游戏42

  3.3.1描述性42

  3.3.2技术上正确42

  3.3.3符合语言习惯43

  3.3.4恰当43

  3.4具体细节44

  3.4.1命名变量44

  3.4.2命名函数45

  3.4.3命名类型46

  3.4.4命名名字空间47

  3.4.5命名宏48

  3.4.6命名文件48

  3.5玫瑰不叫玫瑰49

  3.5.1保持前后一致50

  3.5.2利用上下文51

  3.5.3使用对你有利的名称51

  3.6总结52

  3.7另请参见53

  3.8思考53

  3.8.1深入思考54

  3.8.2结合自己55

  第4章不言自明

  4.1自文档化的代码59

  4.2编写自文档化代码的技术61

  4.2.1使用好的样式编写简单的代码61

  4.2.2选择有意义的名称62

  4.2.3分解为原子函数62

  4.2.4选择描述性的类型63

  4.2.5命名常量63

  4.2.6强调重要的代码64

  4.2.7分组相关信息64

  4.2.8提供文件头64

  4.2.9恰当地处理错误65

  4.2.10编写有意义的注释65

  4.3实用的自文档化方法66

  4.3.1文学性编程66

  4.3.2文档化工具67

  4.4总结69

  4.5另请参见70

  4.6思考71

  4.6.1深入思考71

  4.6.2结合自己72

  第5章随篇注释

  5.1什么是代码注释74

  5.2注释看上去是什么样的75

  5.3多少注释是恰当的75

  5.4注释中应该有些什么76

  5.4.1解释为什么,而不是怎么样76

  5.4.2不要描述代码76

  5.4.3不要取代代码76

  5.4.4确保注释有用77

  5.4.5避免分心78

  5.5实践79

  5.6从审美的角度看注释80

  5.6.1一致性80

  5.6.2清晰的块注释80

  5.6.3缩进的注释81

  5.6.4行尾注释81

  5.6.5帮助你阅读代码81

  5.6.6选择一种维护成本较低的风格82

  5.6.7分隔板82

  5.6.8标志83

  5.6.9文件头注释83

  5.7使用注释84

  5.7.1帮助你编写例行程序84

  5.7.2错误修正通告85

  5.7.3注释过时85

  5.7.4维护和空洞无物的注释86

  5.8总结86

  5.9另请参见87

  5.10思考87

  5.10.1深入思考88

  5.10.2结合自己88

  第6章人非圣贤

  6.1从何而来90

  6.2错误报告机制91

  6.2.1不报告91

  6.2.2返回值92

  6.2.3错误状态变量93

  6.2.4异常93

  6.2.5信号95

  6.3检测错误95

  6.4处理错误96

  6.4.1何时处理错误97

  6.4.2可能的反应98

  6.4.3代码示例100

  6.5使地狱浮现104

  6.6管理错误105

  6.7总结106

  6.8另请参见107

  6.9思考107

  6.9.1深入思考107

  6.9.2结合自己108

神秘生命

  第来自7章欲善其事,先利其器

  7.1什么是软件工具112

  7.2为什360百科么要在意工具114

  7.3使工具发挥作用115

  7.3.1了解它能做些什么115

  7.3.2学习如何驾驭它116

  7.3.3了解它适合什么任务116

  7.3.4检查它是否可用116

  7.3.5找到了解更多信息的途径117

  7.3.6查明新版本何工速帝假清消时出现117

  7.4哪个工具117

  7.4.1源代码编辑工具118

  7.4.2代码构建工具120

  7.4.3调试和调查工搞注接延识挥质具123

  7.4.4语言支持农考感工具124

  7.4.5其他工具125

  7.5总结126

  7.6另请参见127

  7.7思缩找审纪获杆她看让院急考128

  7.7.1深入思考128

  7.7.2结合自己128

  第8章测试时代

  8.1反思现实131

  8.2谁、是什么、何时以及为什么132

  8.2.1我们为什么要测试132

  8.2红么密.2谁来进行测试133

  8.2.3测八错种越须万尽试的内容有些什么133

  8.2.4何时进行现飞蒸知游一击看玉科字测试134

  8.3测试并不难聚术王逐煤兰南……135

  8.4测试的类型取伯丰138

  8.5选择单元测试用例142

  8.6为测试而设计14讲投车评战代验教4

  8.7看!不要用手!144

  8.8面对故障该怎么办145

  8.9你能管理它吗146

  8.9.1缺陷跟踪系统147

  8.9.2bug审查148

  8.10总结149

  8.11另请参见150

  8.12思考150

  8.12.1深入密各思考150

  8.12.2结合自己151

  第9章寻找缺陷

 极促达顾北兰画向 9.1生活的真相154

  9.2bug的种类155

  9.2.1从远处看155

 雨案粉属种 9.2.2从近处看156

  9.2.3从更近处看158

  9.3消灭害虫160

  9.3.1地下之路161

  负费教发州渐先因9.3.2地上之路161

  9.4搜寻bug162

  9.4.1编译时错误162

  9.4.2运行时错误164

  9.5如何修正缺陷167

  9.6预防169

  9.7除蜂剂、零帝驱虫剂、捕蝇纸169

  9.7.1调试器169

  9.7.2内存访问校验器170

  9.7.3系统调用跟踪170

  9.7.4内核转储170

  9.7.5日志170

  9.8总结171

  9.9另请参见172

  9.10思考173

  9.10.1深入思考173

  9.10.2三假型纪连仅卷无排燃映结合自己173

  村目划盟第10章代码构建

  10.1语言障碍176

  10.1.1解释型语言177

  10.1.2编译型语言178

  10.1.3字节编译型语言179

  10.2小题大做179

  硫敌弦字尼吸医施10.3构建软件版本181

  10.4怎样才算是一个优秀的构建系统184

  10.4.1简洁184

  10.4.2一致184

  10.4.3可重复和可靠185

  10.4.4原子性186

  10.4.5能够应付错误187

  10.5技术细节187

  10.5.1目标的选择187

  10.5.2内务处理189

  10.5.3依赖关系189

  10.5.4自动构建190

  10.5.5构建配置191

  10.5.6递归地使用make192

  10.6请发布我吧192

  10.7构建大师是全能的吗194

  10.8总结195

  10.9另请参见195

  10.10思考196

  10.10.1深入思考196

  10.10.2结合自己196

  第11章追求速度

  11.1优化是什么200

  11.2是什么使代码不尽如人意201

  11.3为什么不进行优化呢202

  备选方案204

  11.4为什么要进行优化205

  11.5优化的具体细节206

  11.5.1证明你需要进行优化206

  11.5.2找出运行得最慢的代码207

  11.5.3测试代码208

  11.5.4优化代码209

  11.5.5优化之后209

  11.6优化的技术210

  11.6.1设计更改210

  11.6.2代码更改213

  11.7编写高效的代码217

  11.8总结219

  11.9另请参见219

  11.10思考220

  11.10.1深入思考220

  11.10.2结合自己221

  第12章不安全感综合症

  12.1危险224

  12.2敌人226

  12.3借口,都是借口228

  12.4感到很脆弱229

  12.4.1不安全的设计和体系结构229

  12.4.2缓冲溢出229

  12.4.3嵌入的查询字符串230

  12.4.4竞争状况231

  12.4.5整数溢出231

  12.5防范措施232

  12.5.1系统安装技术233

  12.5.2软件设计技术234

  12.5.3代码实现技术235

  12.5.4规程技术236

  12.6总结236

  12.7另请参见237

  12.8思考238

  12.8.1深入思考238

  12.8.2结合自己238

形成过程

  第13章崇尚设计

  13.1边设计边编程242

  13.2我们要设计什么243

  13.3为什么这么忙乱244

  13.4良好的软件设计245

  13.4.1简洁246

  13.4.2优雅247

  13.4.3模块化247

  13.4.4良好的接口248

  13.4.5可扩展性251

  13.4.6避免重复251

  13.4.7可移植性252

  13.4.8符合语言习惯252

  13.4.9良好地文档化253

  13.5如何设计代码253

  13.5.1设计方法和过程254

  13.5.2设计工具255

  13.6总结257

  13.7另请参见258

  13.8思考258

  13.8.1深入思考258

  13.8.2结合自己259

  第14章软件体系结构

  14.1什么是软件体系结构262

  14.1.1软件蓝图262

  14.1.2视图263

  14.1.3在何时和何处进行体系结构设计264

  14.1.4用体系结构来做什么265

  14.1.5关于组件和连接266

  14.2什么是良好的体系结构268

  14.3体系结构风格269

  14.3.1没有体系结构269

  14.3.2分层的体系结构270

  14.3.3管道和过滤器体系结构271

  14.3.4客户端/服务器体系结构271

  14.3.5基于组件的体系结构273

  14.3.6框架274

  14.4总结275

  14.5另请参见276

  14.6思考276

  14.6.1深入思考276

  14.6.2结合自己277

  第15章改良与革命

  15.1软件腐烂281

  15.2警告信号282

  15.3代码是如何成长的284

  15.4相信不可能之事286

  15.5对此我们可以做些什么287

  15.5.1编写新代码287

  15.5.2维护现有代码288

  15.6总结290

  15.7另请参见290

  15.8思考291

  15.8.1深入思考292

  15.8.2结合自己292

群程序员

  ​

  第16章代码猴子

  16.1各种各样的猴子296

  16.1.1卖力工作的程序员297

  16.1.2代码猴子298

  16.1.3权威299

  16.1.4半权威300

  16.1.5傲慢的天才300

  16.1.6牛仔302

  16.1.7规划者302

  16.1.8老前辈303

  16.1.9狂热者304

  16.1.10单线条程序员305

  16.1.11拖沓者306

  16.1.12勉强的团队领导306

  16.1.13你307

  16.2理想的程序员308

  16.3那么该怎么办308

  16.4最愚蠢的人309

  16.5总结310

  16.6另请参见310

  16.7行为表格311

  16.8思考312

  16.8.1深入思考312

  16.8.2结合自己312

  第17章团结就是力量

  17.1我们的团队--概览316

  17.2团队组织318

  17.2.1管理方法318

  17.2.2责任划分318

  17.2.3组织和代码结构320

  17.3团队合作工具320

  17.4团队疾病322

  17.4.1巴别塔322

  17.4.2独裁制324

  17.4.3民主制325

  17.4.4卫星站327

  17.4.5大峡谷329

  17.4.6流沙330

  17.4.7旅鼠332

  17.5良好团队合作的个人技巧和特点333

  17.5.1沟通333

  17.5.2谦虚334

  17.5.3处理冲突334

  17.5.4学习和适应能力335

  17.5.5了解你的不足之处336

  17.6团队合作原则336

  17.6.1集体代码所有制336

  17.6.2尊重别人的代码337

  17.6.3编码准则337

  17.6.4定义成功337

  17.6.5定义责任338

  17.6.6避免倦怠338

  17.7团队的生命周期339

  17.7.1团队的创建339

  17.7.2团队的成长341

  17.7.3团队合作342

  17.7.4团队结束343

  17.8总结345

  17.9另请参见346

  17.10行为表格347

  17.11思考348

  17.11.1深入思考348

  17.11.2结合自己348

  第18章安全措施

  18.1我们的责任350

  18.2源代码控制351

  18.2.1修订控制352

  18.2.2访问控制353

  18.2.3处理代码库354

  18.2.4在代码树上创建分支354

  18.2.5源代码控制简史356

  18.3配置管理356

  18.4备份358

  18.5发布源代码359

  18.6应该将源代码放在哪里360

  18.7总结361

  18.8另请参见362

  18.9思考363

  18.9.1深入思考363

  18.9.2结合自己363

组成部分

  第19章注意细节

  19.1规范到底是什么368

  19.2规范的类型369

  19.2.1需求规范371

  19.2.2功能规范373

  19.2.3系统体系结构规范373

  19.2.4用户界面规范374

  19.2.5设计规范374

  19.2.6测试规范375

  19.3规范应当包含哪些内容376

  19.4规范编写过程379

  19.5我们为什么会不编写规范381

  19.6总结383

  19.7另请参见383

  19.8思考384

  19.8.1深入思考384

  19.8.2结合自己384

  第20章代码审查

  20.1什么是代码审查386

  20.2何时进行审查387

  20.2.1是否要进行审查388

  20.2.2审查哪些代码389

  20.3执行代码审查389

  20.3.1代码审查会议390

  20.3.2集成审查392

  20.4审查你的态度393

  20.4.1作者的态度393

  20.4.2审查人员的态度394

  20.5完美的代码395

  20.6代码审查之外396

  20.7总结397

  20.8另请参见397

  20.9清单398

  20.10思考399

  20.10.1深入思考399

  20.10.2结合自己399

  第21章时间估计

  21.1在黑暗中摸索402

  21.2为什么估计这么困难?403

  21.3压力之下405

  21.4实用的估计方法406

  21.5计划游戏409

  21.6坚持!412

  21.7总结415

  21.8另请参见415

  21.9思考416

  21.9.1深入思考416

  21.9.2结合自己416

高处鸟瞰

  第22章程序秘方

  22.1编程风格420

  22.1.1结构化编程421

  22.1.2面向对象的程序设计422

  22.1.3函数式编程423

  22.1.4逻辑编程424

  22.2烹饪方法:做什么与怎样做424

  22.3开发过程425

  22.3.1混乱426

  22.3.2瀑布模型427

  22.2.3SSADM和PRINCE429

  22.3.4V模型430

  22.3.5原型设计430

  22.3.6迭代和增量开发432

  22.3.7螺旋模型432

  22.3.8敏捷的方法433

  22.3.9其他开发过程434

  22.4已经够了!435

  22.5选择一种过程436

  22.6总结437

  22.7另请参见438

  22.8思考438

  22.8.1深入思考438

  22.8.2结合自己439

  第23章编程领域大观

  23.1应用程序编程442

  23.1.1塑装软件443

  23.1.2定制应用程序444

  23.2游戏编程445

  23.3系统编程446

  23.4嵌入式编程447

  23.5分布式编程450

  23.6网络应用程序编程451

  23.7企业编程453

  23.8数字编程454

  23.9那又怎样455

  23.10总结456

  23.11另请参见456

  23.12思考457

  23.12.1深入思考457

  23.12.2结合自己457

  第24章下一步呢

  但下一步该做什么呢?460

  答案和讨论463

  参考书目559

  索引564

  ……

转载请注明出处安可林文章网 » CodeCraft编程匠艺:编写卓越的代码

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com