出版社: 电子工业出版社
出品方: 博文视点
副标题: 编写卓越的代码
原作名: The Practice of Writing Excellent Code
译者: 韩江 / 陈玉
出版年: 2011-11
页数: 613
定价: 85.00元
装帧: 平装
丛书: 传世经典书丛
ISBN: 9787121143472
内容简介 · · · · · ·
如果你可以编写出合格的代码,但是想更进一步、创作出组织良好而且易于理解的代码,并希望成为一名真正的编程专家或提高现有的职业技能,那么Pete Goodliffe编写的这本本书都会为你给出答案。本书的内容涵盖编程的各个要素,如代码风格、变量命名、错误处理和安全性等。此外,本书还对一些更广泛的编程问题进行了探讨,如有效的团队合作、开发过程和文档编写,等等。本书各章的末尾均提供一些思考问题,这些问题回顾了各章中的一些关键概念,可以促使你像专家一样思考,从而使本书成为那些渴望作为团队的一分子,职业并高效地编程的新手们的一本绝佳的参考书。
作者简介 · · · · · ·
Pete Goodliffe是一位软件开发专家,他在软件“食物链”上从未驻足不前。他在各种各样的项目中使用过许多种语言。他还在教授和指导程序员方面有着丰富的经验,并且常年为ACCU的C Vu杂志(www.accu.org)撰写栏目“编程的职业化”。Pete痴迷于编写出色的、没有错误的代码,这使得他有更多的时间与自己的孩子共度好时光
目录 · · · · · ·
第1章 善于防守:健壮代码的防御性编程技巧
第2章 精心布局:源代码的版面和样式
第3章 名正言顺:为有意义的事物起有意义的名称
第4章 不言自明:编写“自文档化”代码的技巧
第5章 随篇注释:如何编写代码注释
· · · · · · (更多)
第1章 善于防守:健壮代码的防御性编程技巧
第2章 精心布局:源代码的版面和样式
第3章 名正言顺:为有意义的事物起有意义的名称
第4章 不言自明:编写“自文档化”代码的技巧
第5章 随篇注释:如何编写代码注释
第6章 人非圣贤:处理不可避免的情况——代码中的错误情形
第2篇 代码的神秘生命第一部分
第7章 欲善其事,先利其器:使用工具构建软件
第8章 测试时代:测试代码的魔术
第9章 寻找缺陷(调试):当事情进展得不顺利时该怎么办
第10章 代码构建:将源代码转换为可执行代码的过程
第11章 追求速度:优化程序和编写高效的代码
第12章 不安全感综合征:编写安全的程序
第3篇 代码的形成过程第一部分
第13章 崇尚设计:如何创作出优秀的软件设计
第14章 软件体系结构:奠定软件设计的基础
第15章 改良与革命:代码是如何成长的
第4篇 “一群”程序员第一部分
第16章 代码猴子:培养正确的编程态度和方法
第17章 团结就是力量:团队合作与个人程序员
第18章 安全措施:源代码控制与自我控制
第5篇 开发过程的组成部分第一部分
第19章 注意细节:编写软件规范
第20章 代码审查:执行代码审查
第21章 时间估计:软件时间范围估计的魔术
第6篇 从高处鸟瞰第一部分
第22章 程序秘方:代码开发的方法和过程
第23章 编程领域大观:不同的编程分支
第24章 下一步呢:结果好就一切都好
但下一步该做什么呢?
答案和讨论
参考书目
· · · · · · (收起)
原文摘录 · · · · · · ( 全部 )
-
面对不现实的最后期限和糟糕的管理(如果他们称之为管理的话),以及不断改变的需求和一团糟的遗留代码,你感到惊讶,不禁怀疑这是真实的世界吗 (查看原文) —— 引自第21页 -
在现实世界中,编写优秀的代码有多重含义: 编写技术上优雅的代码; 编写维护的代码,让其他人也可以看得懂; 理解和改写其他人编写的杂乱代码; 与其他程序员良好的并肩工作 软件开发是一个有趣的职业。这个职业在迅猛的发展着,充满了瞬间即逝的流行元素与变幻莫测的风致富的计划以及新理念的传播。它并不成熟。 好的程序设计来源于你的态度。好的态度来源于你了解职业化的方法,以及对编写最好软件的追求,而不管软件工厂的压力有多大。 (查看原文) —— 引自第21页
> 全部原文摘录
丛书信息
喜欢读"编程匠艺"的人也喜欢的电子书 · · · · · ·
喜欢读"编程匠艺"的人也喜欢 · · · · · ·
编程匠艺的话题 · · · · · · ( 全部 条 )



编程匠艺的书评 · · · · · · ( 全部 3 条 )

传说中"理想的程序员"

为新来者打开广阔的视野,一窥编程人生的全貌
> 更多书评 3篇
-
Loki (一日三省)
## 大峡谷 他们(高级码农)将较小的枯燥的工作交给这些初级程序员,而自己则继续进行有趣的基础设计工作。 这个还是挺常见的,有相当多没有经验或者没有责任心的 mentor,主要的工作就是把 dirty work 分给低级码农,只负责验收不负责指导,而相应的低级码农的成长也会比较慢。2014-08-12 22:47
-
Loki (一日三省)
这应该是最有意思的一章了,而且不随时代和环境变化。描述了各种各样的代码猴子,即各种各样有缺陷的码农。 作者对于理想程序员的定义 PRAT:Politician, Relational, Artistic, Technical Genius. THICK:Team Player, Honest and Humble, Improving Constantly, Considerate, Keen. 突然想到一个冷的段子: 足够长的时间,猴子可以敲出莎士比亚;足够长的时间,猴子也可以完美的代码; 但是代码猴子不能,因为他们有思想。2014-08-12 22:30
-
zpp (思考计划总结)
孟岩 2011年7月 再版序 内容要点: 本书内容是关于软件编码的一些大实话,经验之谈。 本书优点: 1.比较完整 2.具体又简明 3.朴实 软件开发行业很不成熟,更多是狂想。 而大多数炫技最后都身败名裂,留下的还是低调、朴实、透明的技术。 软件开发行业有一个特别热闹而且旁若无人的圈子文化:不是拿成果,而是拿点子比高下,用大部分精力用来取悦同行。 开发者应该站在圈子外审视自己。 归根结底,社会还是以你是否能够交付高质...2013-04-21 10:31
-
zpp (思考计划总结)
孟岩 2008年7月 内容要点: 信息技术变化太快,什么是我们的核心竞争力? 80年代,人们认为软件开发者的核心竞争力是: 1.聪明的才智; 2.扎实的基本功; 3.精通算法、硬件、编译、计算机体系结构; 4.想象力和创造力; 5.能够单打独斗。 至于团队协作、编码规范、单元测试、最佳实践都是天才不必要的羁绊:) 90年代,风水变。 核心竞争力表现为对平台、工具的掌握,并创造性的构筑产品。 十年下来 问题又来啦 平台工具换的太...2013-04-21 10:44
孟岩 2008年7月 内容要点: 信息技术变化太快,什么是我们的核心竞争力? 80年代,人们认为软件开发者的核心竞争力是: 1.聪明的才智; 2.扎实的基本功; 3.精通算法、硬件、编译、计算机体系结构; 4.想象力和创造力; 5.能够单打独斗。 至于团队协作、编码规范、单元测试、最佳实践都是天才不必要的羁绊:) 90年代,风水变。 核心竞争力表现为对平台、工具的掌握,并创造性的构筑产品。 十年下来 问题又来啦 平台工具换的太快 ,上个月还是敏捷java领域的改革派,这个月就被一群嘴上无毛的RoR粉丝给划到改革的对立面去了。 什么才是核心竞争力啊? 至少体现在一下几点 1.扎实基本功 2.活跃想象力和创造力 3.快速学习能力 4.行业与领域知识 5.专业软件技能 什么是专业软件技能? 就是正确的开发软件的能力,更具体点就是说,通过一系列有组织、有原则、流程化、可检验、可重复的实践行为,协作式开发高质量程序的能力。 对于程序员来说,这才是看家老本。 对于团队来说,这是立足之本。 算法不会,可以查资料慢慢掌握; 不理解行业,可以边学边做,逐渐深入; 缺乏创新,可以站在巨人的肩膀上耐心摸索; 甚至基本功,也可以自我弥补 可是没有专业的态度和实践技能,试问你还剩下什么? 经过三十年,人们终于认识到,在团队协作的情况下,决定软件产品质量的不再是个人的聪明才智,也不靠什么神仙技术,而是团队的工艺实践。 是否开始有计划? 计划是否进行了确认、维护和跟踪? 是否形成合理架构? 是否选择恰当的工具与语言? 是否有合适的团队协作的平台与工具? 是否具有缺陷核查、控制、跟踪策略并严格执行? 是否有编码标准? 是否有测试规范? 是否严格版本管理、配置管理、发布管理? 当一个个体开发者能够对这些问题具备正确的观念,并通过施加自己的影响力促进团队向正确的方向前进时,他就是个具有核心竞争力的开发者。 十多年前,软件匠艺不被重视。程序员要么是充分放纵的孤胆英雄,要么是管理指令的机械执行者,谈及软件匠艺的书屈指可数。 直到90年代,《代码大全》《编写清晰的代码》《软件工艺》《代码阅读》《程序员修炼之道》等
回应 2013-04-21 10:44 -
zpp (思考计划总结)
面对不现实的最后期限和糟糕的管理(如果他们称之为管理的话),以及不断改变的需求和一团糟的遗留代码,你感到惊讶,不禁怀疑这是真实的世界吗 本书目的:如何“在现实的世界”正确的编码。 在现实世界中,编写优秀的代码有多重含义: 编写技术上优雅的代码; 编写维护的代码,让其他人也可以看得懂; 理解和改写其他人编写的杂乱代码; 与其他程序员良好的并肩工作 软件开发是一个有趣的职业。这个职业在迅猛的发展着,充满了...2013-04-21 11:20
面对不现实的最后期限和糟糕的管理(如果他们称之为管理的话),以及不断改变的需求和一团糟的遗留代码,你感到惊讶,不禁怀疑这是真实的世界吗 引自 前言 本书目的:如何“在现实的世界”正确的编码。
在现实世界中,编写优秀的代码有多重含义: 编写技术上优雅的代码; 编写维护的代码,让其他人也可以看得懂; 理解和改写其他人编写的杂乱代码; 与其他程序员良好的并肩工作 软件开发是一个有趣的职业。这个职业在迅猛的发展着,充满了瞬间即逝的流行元素与变幻莫测的风致富的计划以及新理念的传播。它并不成熟。 好的程序设计来源于你的态度。好的态度来源于你了解职业化的方法,以及对编写最好软件的追求,而不管软件工厂的压力有多大。 引自 前言 本书组织形式 每章有以下几个部分 1.本章主题:要点 2.主题内容 3.总结 4.另见参考 5.思考,包括深入思考和了解自己 本书分为六篇,分别针对6个不同的领域 1.代码表面 2.代码的神秘生命 3.代码的形成过程 4.一群程序员 5.开发过程的组成部分 6.从高处鸟瞰
聪明人从自己的错误中学习,而更聪明的人则从别人的错误中学习 引自 前言 回应 2013-04-21 11:20 -
参加代码版面的圣战是徒劳无功的,是在浪费时间;还有更多值得我们去关注的重要事情。不过要知道,代码版面并不是编程社会里唯一的烫手山芋。会引起争议的地方还有很多,如编辑器,编译器,方法论,最好的语言,等等。 这些争论已经持续了很多年,他们还将继续下去,不会有人赢得这些争论。没有人能够给出正确的答案,因为正确的答案根本不存在。这种争论不过是某个人想把自己的偏好(虽然堂而皇之)强加给别人的一个机会。“不...
2014-04-21 23:18
参加代码版面的圣战是徒劳无功的,是在浪费时间;还有更多值得我们去关注的重要事情。不过要知道,代码版面并不是编程社会里唯一的烫手山芋。会引起争议的地方还有很多,如编辑器,编译器,方法论,最好的语言,等等。 这些争论已经持续了很多年,他们还将继续下去,不会有人赢得这些争论。没有人能够给出正确的答案,因为正确的答案根本不存在。这种争论不过是某个人想把自己的偏好(虽然堂而皇之)强加给别人的一个机会。“不管怎样,我的观点一定是对的,因为这是我的观点。”这就像试着去编制意大利面条一样——一时高兴,但结果却一团糟,而且毫无意义通常只有不成熟的程序员才会陷入其中(老手们都已经明白这一点了)。 需要机制的关键是:圣战士经历的浪费。作为一名职业程序员,你应当从这些无谓的争论中脱身出来。当然,要有有根据的个人意见,但不要傲慢地认为自己的意见一定是对的。 引自 精心布局源代码的版面和样式 回应 2014-04-21 23:18
-
Loki (一日三省)
## 大峡谷 他们(高级码农)将较小的枯燥的工作交给这些初级程序员,而自己则继续进行有趣的基础设计工作。 这个还是挺常见的,有相当多没有经验或者没有责任心的 mentor,主要的工作就是把 dirty work 分给低级码农,只负责验收不负责指导,而相应的低级码农的成长也会比较慢。2014-08-12 22:47
-
Loki (一日三省)
这应该是最有意思的一章了,而且不随时代和环境变化。描述了各种各样的代码猴子,即各种各样有缺陷的码农。 作者对于理想程序员的定义 PRAT:Politician, Relational, Artistic, Technical Genius. THICK:Team Player, Honest and Humble, Improving Constantly, Considerate, Keen. 突然想到一个冷的段子: 足够长的时间,猴子可以敲出莎士比亚;足够长的时间,猴子也可以完美的代码; 但是代码猴子不能,因为他们有思想。2014-08-12 22:30
这本书的其他版本 · · · · · · ( 全部4 )
-
电子工业出版社 (2008)8.2分 139人读过
-
暂时无货, 4天前曾上架
-
No Starch Press (2006)暂无评分 8人读过
-
未知出版社暂无评分
在哪儿借这本书 · · · · · ·
以下豆列推荐 · · · · · · ( 全部 )
- 计算机科学
- 编程实践 (Rover)
- 程序员典藏大系
- 软件工程与软件方法学
- 我的书单
谁读这本书?
二手市场
订阅关于编程匠艺的评论:
feed: rss 2.0
0 有用 泡咖啡的棉花糖 2018-01-23
代码书中的艺术书、思考书。
1 有用 Joker Lee 2013-07-08
代码层面的百科全书,包括风格、设计、管理的各种方法
0 有用 [已注销] 2012-03-14
作者把程序员比作猴子,应该是来自于那本叫嚷‘别让猴子跳到你头上’的那本管理书吧——Shit。
0 有用 Bice 2013-07-29
程序员经典读物,非常完美。 本书最大优点已经写在封面上了: 1.比较完整 2.具体又简明 3.朴实
0 有用 huron 2014-10-17
明显不如代码大全
0 有用 王悟空 2020-04-10
入门的都该看看
0 有用 greatabel 2019-03-22
Becoming a Better Programmer的作者,怪不得这么深得我心,当然没有时间和经历前会觉得都是老生常谈,当初我看这书就这么认为的,但是这么多年回来重读,发现自己几乎把这些坑都趟了一边,无论是编程、设计、维护、组建团队……。我今见闻得受持,愿解Pete真实义,嗯嗯我臣服了。(相关摘录放不下,在Technology豆列的评论中)
0 有用 笑一笑、 2018-06-28
看了代码大全,这本书可以浮光掠影地过一下
0 有用 泡咖啡的棉花糖 2018-01-23
代码书中的艺术书、思考书。
5 有用 TerabyteX 2016-01-25
没有代码的经典编程图书,整本书充满了真知灼见!代码猴子漫画贯穿全书,看到时总能让人会心一笑。其中有句话很经典:“聪明的人从自己的错误中学习,而更聪明的人则从别人的错误中学习”,这说的就是前车之鉴啊!