编写可读代码的艺术-带书签pdf高清中文电子版
分享到:
编写可读代码的艺术2012年7月由机械工业出版社出版发行,是一本关于如何编写具有高可读性代码的书籍。细节决定成败,思路清晰、言简意赅的代码让程序员一目了然;而格式凌乱、拖沓冗长的代码让程序员一头雾水。除了可以正确运行以外,优秀的代码必须具备良好的可读性,编写的代码要使其他人能在最短的时间内理解才行。本书旨在强调代码对人的友好性和可读性。编写可读代码的艺术关注编码的细节,总结了很多提高代码可读性的小技巧,看似都微不足道,但是对于整个软件系统的开发而言,它们与宏观的架构决策、设计思想、指导原则同样重要。编码不仅仅只是一种技术,也是一门艺术,编写可读性高的代码尤其如此。如果你要成为一位优秀的程序员,要想开发出高质量的软件系统,必须从细处着手,做到内外兼修,本书将为你提供有效的指导。主要内容:简化命名、注释和格式的方法,使每行代码都言简意赅;梳理程序中的循环、逻辑和变量来减小复杂度并理清思路;在函数级别解决问题,例如重新组织代码块,使其一次只做一件事;编写有效的测试代码,使其全面而简洁,同时可读性更高。小编希望大家读起这本书愉快又轻松。这本书的章节是按照难度来排序,基本的话题在前面,更高级的话题在后面。然而,每章都是独立的。因此如果你想跳着读也可以。
第1章 代码应当易于理解
是什么让代码变得“更好”
可读性基本定理
总是越小越好吗
理解代码所需的时间是否与其他目标有冲突
最难的部分
第一部分 表面层次的改进
第2章 把信息装到名字里
选择专业的词
避免像tmp和retval这样泛泛的名字
用具体的名字代替抽象的名字
为名字附带更多信息
名字应该有多长
利用名字的格式来传递含义
总结
第3章 不会误解的名字
例子:Filter()
例子:Clip(text, length)
推荐用first和last来表示包含的范围
推荐用begin和end来表示包含/排除范围
给布尔值命名
与使用者的期望相匹配
例子:如何权衡多个备选名字
总结
第4章 审美
为什么审美这么重要
重新安排换行来保持一致和紧凑
用方法来整理不规则的东西
在需要时使用列对齐
选一个有意义的顺序,始终一致地使用它
把声明按块组织起来
把代码分成“段落”
个人风格与一致性
总结
第5章 该写什么样的注释
什么不需要注释
记录你的思想
站在读者的角度
最后的思考--克服“作者心理阻滞”
总结
第6章 写出言简意赅的注释
让注释保持紧凑
避免使用不明确的代词
润色粗糙的句子
精确地描述函数的行为
用输入/输出例子来说明特别的情况
声明代码的意图
“具名函数参数”的注释
采用信息含量高的词
总结
第二部分 简化循环和逻辑
第7章 把控制流变得易读
条件语句中参数的顺序
if/else语句块的顺序
条件表达式(又名“三目运算符”)
避免do/while循环
从函数中提前返回
臭名昭著的goto
最小化嵌套
你能理解执行的流程吗
总结
第8章 拆分超长的表达式
用做解释的变量
总结变量
使用德摩根定理
滥用短路逻辑
例子:与复杂的逻辑战斗
拆分巨大的语句
另一个简化表达式的创意方法
总结
第9章 变量与可读性
减少变量
缩小变量的作用域
只写一次的变量更好
最后的例子
总结
第三部分 重新组织代码
第10章 抽取不相关的子问题
介绍性的例子:findClosestLocation()
纯工具代码
其他多用途代码
创建大量通用代码
项目专有的功能
简化已有接口
按需重塑接口
过犹不及
总结
第11章 一次只做一件事
任务可以很小
从对象中抽取值
更大型的例子
总结
第12章 把想法变成代码
清楚地描述逻辑
了解函数库是有帮助的
把这个方法应用于更大的问题
总结
第13章 少写代码
别费神实现那个功能--你不会需要它
质疑和拆分你的需求
保持小代码库
熟悉你周边的库
例子:使用Unix工具而非编写代码
总结
第四部分 精选话题
第14章 测试与可读性
使测试易于阅读和维护
这段测试什么地方不对
使这个测试更可读
让错误消息具有可读性
选择好的测试输入
为测试函数命名
那个测试有什么地方不对
对测试较好的开发方式
走得太远
总结
第15章 设计并改进“分钟/小时计数器”
问题
定义类接口
尝试1:一个幼稚的方案
尝试2:传送带设计方案
尝试3:时间桶设计方案
比较三种方案
总结
附录 深入阅读
Trevor Foucher,资深软件工程师和技术经理,先后在Microsoft和Google工作了数十年,在Microsoft担任软件工程师、技术经理以及安全产品技术主管,在Google从事广告应用开发和搜索基础结构研发相关的工作。
禁用于商业用途!如果您喜欢《编写可读代码的艺术》,请购买正版,谢谢合作。
爱学习,请到3322软件站查找资源自行下载!
我们曾经在非常成功的软件公司中和出色的工程师一起工作,然而我们所遇到的代码仍有很大的改进空间。实际上,我们曾见到一些很难看的代码,你可能也见过。
但是当我们看到写得很漂亮的代码时,会很受启发。好代码会很明确告诉你它在做什么。使用它会很有趣,并且会鼓励你把自己的代码写得更好。
本书旨在帮助你把代码写得更好。当我们说“代码”时,指的就是你在编辑器里面要写的一行一行的代码。我们不会讨论项目的整体架构,或者所选择的设计模式。当然那些很重要,但我们的经验是程序员的日常工作的大部分时间都花在一些“基本”的事情上,像是给变量命名、写循环以及在函数级别解决问题。并且这其中很大的一部分是阅读和编辑已有的代码。我们希望本书对你每天的编程工作有很多帮助,并且希望你把本书推荐给你团队中的每个人。
本书内容安排
这是一本关于如何编写具有高可读性代码的书。本书的关键思想是代码应该写得容易理解。确切地说,使别人用最短的时间理解你的代码。
本书解释了这种思想,并且用不同语言的大量例子来讲解,包括C++、Python、JavaScript和Java。我们避免使用某种高级的语言特性,所以即使你不是对所有的语言都了解,也能很容易看懂。(以我们的经验,反正可读性的大部分概念都是和语言不相关的。)
每一章都会深入编程的某个方面来讨论如何使代码更容易理解。本书分成四部分:
表面层次上的改进
命名、注释以及审美——可以用于代码库每一行的小提示。
简化循环和逻辑
在程序中定义循环、逻辑和变量,从而使得代码更容易理解。
重新组织你的代码
在更高层次上组织大的代码块以及在功能层次上解决问题的方法。
精选话题
把""易于理解""的思想应用于测试以及大数据结构代码的例子。
如何阅读本书
我们希望本书读起来愉快而又轻松。我们希望大部分读者在一两周之内读完全书。
章节是按照""难度""来排序的:基本的话题在前面,更高级的话题在后面。然而,每章都是独立的。因此如果你想跳着读也可以。
代码示例的使用
本书旨在帮助你完成你的工作。一般来说,可以在程序和文档中使用本书的代码。如果你复制了代码的关键部分,那么你就需要联系我们获得许可。例如,利用本书的几段代码编写程序是不需要许可的。售卖或出版O扲eilly书中示例的D-ROM需要我们的许可。引用本书回答问题以及引用示例代码不需要我们的许可。将本书的大量示例代码用于你的产品文档中需要许可。
如果你在参考文献中提到我们,我们会非常感激,但并不强求。参考文献通常包括标题、作者、出版社和ISBN。例如:“《The.Art.of.Readable.Code》by.Dustin.Boswell,.and.Trevor.Foucher.2012Dustin.Boswell,and.Trevor.Foucher,978-0-596-80229-5。
......
1、下载并解压,得出pdf文件
2、如果打不开本文件,别着急,这时候请务必在3322软件站选择一款阅读器下载哦
3、安装后,再打开解压得出的pdf文件
4、以上都完成后,接下来双击进行阅读就可以啦,朋友们开启你们的阅读之旅吧。
方法二:
1、可以在手机里下载3322软件站中的阅读器和百度网盘
2、接下来直接将pdf传输到百度网盘
3、用阅读器打开即可阅读
目录介绍:
前言第1章 代码应当易于理解
是什么让代码变得“更好”
可读性基本定理
总是越小越好吗
理解代码所需的时间是否与其他目标有冲突
最难的部分
第一部分 表面层次的改进
第2章 把信息装到名字里
选择专业的词
避免像tmp和retval这样泛泛的名字
用具体的名字代替抽象的名字
为名字附带更多信息
名字应该有多长
利用名字的格式来传递含义
总结
第3章 不会误解的名字
例子:Filter()
例子:Clip(text, length)
推荐用first和last来表示包含的范围
推荐用begin和end来表示包含/排除范围
给布尔值命名
与使用者的期望相匹配
例子:如何权衡多个备选名字
总结
第4章 审美
为什么审美这么重要
重新安排换行来保持一致和紧凑
用方法来整理不规则的东西
在需要时使用列对齐
选一个有意义的顺序,始终一致地使用它
把声明按块组织起来
把代码分成“段落”
个人风格与一致性
总结
第5章 该写什么样的注释
什么不需要注释
记录你的思想
站在读者的角度
最后的思考--克服“作者心理阻滞”
总结
第6章 写出言简意赅的注释
让注释保持紧凑
避免使用不明确的代词
润色粗糙的句子
精确地描述函数的行为
用输入/输出例子来说明特别的情况
声明代码的意图
“具名函数参数”的注释
采用信息含量高的词
总结
第二部分 简化循环和逻辑
第7章 把控制流变得易读
条件语句中参数的顺序
if/else语句块的顺序
条件表达式(又名“三目运算符”)
避免do/while循环
从函数中提前返回
臭名昭著的goto
最小化嵌套
你能理解执行的流程吗
总结
第8章 拆分超长的表达式
用做解释的变量
总结变量
使用德摩根定理
滥用短路逻辑
例子:与复杂的逻辑战斗
拆分巨大的语句
另一个简化表达式的创意方法
总结
第9章 变量与可读性
减少变量
缩小变量的作用域
只写一次的变量更好
最后的例子
总结
第三部分 重新组织代码
第10章 抽取不相关的子问题
介绍性的例子:findClosestLocation()
纯工具代码
其他多用途代码
创建大量通用代码
项目专有的功能
简化已有接口
按需重塑接口
过犹不及
总结
第11章 一次只做一件事
任务可以很小
从对象中抽取值
更大型的例子
总结
第12章 把想法变成代码
清楚地描述逻辑
了解函数库是有帮助的
把这个方法应用于更大的问题
总结
第13章 少写代码
别费神实现那个功能--你不会需要它
质疑和拆分你的需求
保持小代码库
熟悉你周边的库
例子:使用Unix工具而非编写代码
总结
第四部分 精选话题
第14章 测试与可读性
使测试易于阅读和维护
这段测试什么地方不对
使这个测试更可读
让错误消息具有可读性
选择好的测试输入
为测试函数命名
那个测试有什么地方不对
对测试较好的开发方式
走得太远
总结
第15章 设计并改进“分钟/小时计数器”
问题
定义类接口
尝试1:一个幼稚的方案
尝试2:传送带设计方案
尝试3:时间桶设计方案
比较三种方案
总结
附录 深入阅读
作者介绍:
Dustin.Boswell,毕业于加州理工大学,资深软件工程师,在Google就职多年,负责Web爬虫和程序设计相关的工作。他专注于前端、后端,服务器架构、机器学习、大数据、系统和网站等技术领域的研究和实践,经验十分丰富。他现在是MyLikes的软件工程师。Trevor Foucher,资深软件工程师和技术经理,先后在Microsoft和Google工作了数十年,在Microsoft担任软件工程师、技术经理以及安全产品技术主管,在Google从事广告应用开发和搜索基础结构研发相关的工作。
免责声明:
来源于网络,仅用于分享知识,学习和交流!请下载完在24小时内删除。禁用于商业用途!如果您喜欢《编写可读代码的艺术》,请购买正版,谢谢合作。
爱学习,请到3322软件站查找资源自行下载!
前言/序言:
......我们曾经在非常成功的软件公司中和出色的工程师一起工作,然而我们所遇到的代码仍有很大的改进空间。实际上,我们曾见到一些很难看的代码,你可能也见过。
但是当我们看到写得很漂亮的代码时,会很受启发。好代码会很明确告诉你它在做什么。使用它会很有趣,并且会鼓励你把自己的代码写得更好。
本书旨在帮助你把代码写得更好。当我们说“代码”时,指的就是你在编辑器里面要写的一行一行的代码。我们不会讨论项目的整体架构,或者所选择的设计模式。当然那些很重要,但我们的经验是程序员的日常工作的大部分时间都花在一些“基本”的事情上,像是给变量命名、写循环以及在函数级别解决问题。并且这其中很大的一部分是阅读和编辑已有的代码。我们希望本书对你每天的编程工作有很多帮助,并且希望你把本书推荐给你团队中的每个人。
本书内容安排
这是一本关于如何编写具有高可读性代码的书。本书的关键思想是代码应该写得容易理解。确切地说,使别人用最短的时间理解你的代码。
本书解释了这种思想,并且用不同语言的大量例子来讲解,包括C++、Python、JavaScript和Java。我们避免使用某种高级的语言特性,所以即使你不是对所有的语言都了解,也能很容易看懂。(以我们的经验,反正可读性的大部分概念都是和语言不相关的。)
每一章都会深入编程的某个方面来讨论如何使代码更容易理解。本书分成四部分:
表面层次上的改进
命名、注释以及审美——可以用于代码库每一行的小提示。
简化循环和逻辑
在程序中定义循环、逻辑和变量,从而使得代码更容易理解。
重新组织你的代码
在更高层次上组织大的代码块以及在功能层次上解决问题的方法。
精选话题
把""易于理解""的思想应用于测试以及大数据结构代码的例子。
如何阅读本书
我们希望本书读起来愉快而又轻松。我们希望大部分读者在一两周之内读完全书。
章节是按照""难度""来排序的:基本的话题在前面,更高级的话题在后面。然而,每章都是独立的。因此如果你想跳着读也可以。
代码示例的使用
本书旨在帮助你完成你的工作。一般来说,可以在程序和文档中使用本书的代码。如果你复制了代码的关键部分,那么你就需要联系我们获得许可。例如,利用本书的几段代码编写程序是不需要许可的。售卖或出版O扲eilly书中示例的D-ROM需要我们的许可。引用本书回答问题以及引用示例代码不需要我们的许可。将本书的大量示例代码用于你的产品文档中需要许可。
如果你在参考文献中提到我们,我们会非常感激,但并不强求。参考文献通常包括标题、作者、出版社和ISBN。例如:“《The.Art.of.Readable.Code》by.Dustin.Boswell,.and.Trevor.Foucher.2012Dustin.Boswell,and.Trevor.Foucher,978-0-596-80229-5。
......
下载说明:
方法一:1、下载并解压,得出pdf文件
2、如果打不开本文件,别着急,这时候请务必在3322软件站选择一款阅读器下载哦
3、安装后,再打开解压得出的pdf文件
4、以上都完成后,接下来双击进行阅读就可以啦,朋友们开启你们的阅读之旅吧。
方法二:
1、可以在手机里下载3322软件站中的阅读器和百度网盘
2、接下来直接将pdf传输到百度网盘
3、用阅读器打开即可阅读
展开更多
编写可读代码的艺术-带书签pdf高清中文电子版下载地址
- 需先下载高速下载器:
- 专用下载:
- 其它下载: