大小:10.55M
更新时间:23-08-20
系统:Pc
版本:v
编写可读代码的艺术电子版是一本代码编写艺术手册,由美国程序员鲍斯维尔编著。本书旨在帮助你把代码写得更好。当我们说“代码”时,指的就是你在编辑器里面要写的一行一行的代码。我们不会讨论项目的整体架构,或者所选择的设计模式。当然那些很重要,但我们的经验是程序员的日常工作的大部分时间都花在一些“基本”的事情上,像是给变量命名、写循环以及在函数级别解决问题。并且这其中很大的一部分是阅读和编辑已有的代码。我们希望本书对你每天的编程工作有很多帮助,并且希望你把本书推荐给你团队中的每个人
1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读试读
细节决定成败,思路清晰、言简意赅的代码让程序员一目了然;而格式凌乱、拖沓冗长的代码让程序员一头雾水。除了可以正确运行以外,优秀的代码必须具备良好的可读性,编写的代码要使其他人能在最短的时间内理解才行。本书旨在强调代码对人的友好性和可读性。
《编写可读代码的艺术》关注编码的细节,总结了很多提高代码可读性的小技巧,看似都微不足道,但是对于整个软件系统的开发而言,它们与宏观的架构决策、设计思想、指导原则同样重要。编码不仅仅只是一种技术,也是一门艺术,编写可读性高的代码尤其如此。如果你要成为一位优秀的程序员,要想开发出高质量的软件系统,必须从细处着手,做到内外兼修,本书将为你提供有效的指导。
主要内容:
1、简化命名、注释和格式的方法,使每行代码都言简意赅。
2、梳理程序中的循环、逻辑和变量来减小复杂度并理清思路。
3、函数级别解决问题,例如重新组织代码块,使其一次只做一件事。
4、编写有效的测试代码,使其全面而简洁,同时可读性更高。
第1章 代码应当易于理解
是什么让代码变得“更好”
可读性基本定理
总是越小越好吗
理解代码所需的时间是否与其他目标有冲突
最难的部分
第一部分 表面层次的改进
避免像tmp和retval这样泛泛的名字
用具体的名字代替抽象的名字
为名字附带更多信息
名字应该有多长
利用名字的格式来传递含义
总结
第3章 不会误解的名字
例子:Filter()
例子:Clip(text, length)
推荐用first和last来表示包含的范围
推荐用begin和end来表示包含/排除范围
给布尔值命名
与使用者的期望相匹配
例子:如何权衡多个备选名字
总结
第4章 审美
为什么审美这么重要
重新安排换行来保持一致和紧凑
用方法来整理不规则的东西
在需要时使用列对齐
选一个有意义的顺序,始终一致地使用它
把声明按块组织起来
把代码分成“段落”
个人风格与一致性
总结
第5章 该写什么样的注释
什么不需要注释
记录你的思想
站在读者的角度
最后的思考--克服“作者心理阻滞”
总结
第6章 写出言简意赅的注释
让注释保持紧凑
避免使用不明确的代词
润色粗糙的句子
精确地描述函数的行为
用输入/输出例子来说明特别的情况
声明代码的意图
“具名函数参数”的注释
采用信息含量高的词
总结
第二部分 简化循环和逻辑
第7章 把控制流变得易读
条件语句中参数的顺序
if/else语句块的顺序
条件表达式(又名“三目运算符”)
避免do/while循环
从函数中提前返回
臭名昭著的goto
最小化嵌套
你能理解执行的流程吗
总结
第8章 拆分超长的表达式
用做解释的变量
使用德摩根定理
例子:与复杂的逻辑战斗
拆分巨大的语句
另一个简化表达式的创意方法
总结
减少变量
缩小变量的作用域
只写一次的变量更好
最后的例子
总结
第三部分 重新组织代码
第10章 抽取不相关的子问题
介绍性的例子:findClosestLocation()
纯工具代码
其他多用途代码
创建大量通用代码
项目专有的功能
简化已有接口
按需重塑接口
过犹不及
总结
第11章 一次只做一件事
任务可以很小
从对象中抽取值
更大型的例子
总结
第12章 把想法变成代码
清楚地描述逻辑
了解函数库是有帮助的
把这个方法应用于更大的问题
总结
第13章 少写代码
别费神实现那个功能--你不会需要它
质疑和拆分你的需求
保持小代码库
熟悉你周边的库
例子:使用Unix工具而非编写代码
总结
第四部分 精选话题
第14章 测试与可读性
使测试易于阅读和维护
这段测试什么地方不对
使这个测试更可读
让错误消息具有可读性
选择好的测试输入
为测试函数命名
那个测试有什么地方不对
对测试较好的开发方式
走得太远
总结
第15章 设计并改进“分钟/小时计数器”
问题
定义类接口
尝试1:一个幼稚的方案
尝试2:传送带设计方案
尝试3:时间桶设计方案
比较三种方案
总结
附录 深入阅读
同类热门
热门标签
网友评论0人参与,0条评论
最新排行
国学大师四库全书电子版1.13Gv2.0简体+繁体版 国学大师四库全书官方版是国学大师系列之一,是一套大型规模的古籍丛书,收录古典书籍1800部5万卷,分为经、史、子、集四大部,总计约4亿字。涉及文学、艺术、历史、地理、科技、蒙学等。注本自动加色,书籍质量比较高全文可复制,全文可朗读或输出成mp3。几
查看360个人图书馆电脑版82.83Mv2.3.2官方版 360个人图书馆电脑版是360官方提供的一款电脑在线文档资讯软件,该软件能让您将创作的文章、图片和在网上看到的好文章和美图统统放到属于自己的图书馆中,日积月累形成自己真正的个人知识库和知识门户。用户一经注册,即可获得属于自己的个人图书馆空间,可以把
查看11g101-1图集电子版4.91M官方pdf高清版11g101-1图集,又简称为混凝土结构施工图11g101-1,官方全称为混凝土结构施工图平面整体表示方法制图规则和构造详图(现浇混凝土框架、剪力墙、梁、板),由中华人民共和国住房和城乡建设部批准,中国建筑标准设计研究院编制,可以替代03g101-1、0
查看oracle database 9i10g11g编程艺术第2版151.99MThomas Kyte pdf扫描版 oracle database 9i10g11g编程艺术第2版是一本公认的Oracle数据库指南,凝聚了世界的Oracle专家Thomas Kyte数十年的宝贵经验和真知灼见。书中深入分析了Oracle数据库体系结构,包括文件、内存结构以及构成Or
查看03s702钢筋混凝土化粪池图集12.32Mpdf高清电子版03s702钢筋混凝土化粪池图集简称为03s702化粪池图集,能够适用于民用建筑和一般工业建筑生活污水的初步处理, 由中国航天建筑设计研究院编写,中华人民共和国建设部批准发布,其内容包括化粪池的工艺图、结构尺寸表、所需构件表、材料表、盖板及井圈尺寸及其配
查看android物联网开发细致入门与最佳实践66.04M李天祥pdf扫描版 android物联网开发细致入门与最佳实践是一本Android物联网开发入门书籍,由李天祥编著,本书内容几乎涵盖了Android物联网开发所需要的所有主要知识点,详细讲解了每一个典型物联网项目的实现过程和具体移植方法。为了使广大读者彻底弄清楚And
查看opengl超级宝典第五版111.39Mpdf高清扫描版opengl超级宝典第五版是由Richard.Wright,Jr.Nicholas Haemel和Graham Sellers Benjamin Lipchak所编著的一本OpenGL及3D图形编程最好的入门指南书籍,涵盖了使用最新版本的OpenGL进行
查看opengl es 2.0编程指南1.96Mpdf中文版opengl es 2.0编程指南是一本pdf中文版的电子图书,已经附带了pdf阅读器在软件包中,用户即下即用。OpenGL ES 2.0是本书中要讲的API,目标是讲述完整的细节(核心和扩展),给出怎么使用的例子,讨论各种优化技术,读完本书希望能你能懂
查看android安全技术揭秘与防范41.3M周圣韬pdf扫描版android安全技术揭秘与防范是一本Android系统安全的核心技术书籍,由Android系统安全专家周圣韬编著。本书由浅入深,全面分析了Android 中5个层级的不同攻击与防御方式,全面涵盖了Android系统安全的核心技术:Root安全、键盘监控
查看Scala程序设计第二版15.83Mpdf高清完整版想要学习Scala程序设计看哪方面的书籍好呢?小编推荐您看看这本Scala程序设计第二版pdf格式的电子书,这本书里主要讲解了Scala的函数式风格、自适应类型、闭包、XML处理、模式匹配和并发编程等内容。本书既适合Scala初学者入门,也适合经验丰富的
查看weblogic开发权威指南92.84Mpdf中文完整版WebLogic开发权威指南是Oracle WebLogic Server开发人员必看的一本书籍,书中主要讲解了mvc体系结构、通用java ee设计模式、web应用程序体系结构、控制器调用业务服务等众多的有关于WebLogic Server开发的实例,
查看html5与css3基础教程 第8版33.79M高清扫描版html5与css3基础教程 第8版是一本介绍html5和css3语言的网页基础教材,由美国程序员Elizabeth Castro和Bruce Hyslop编著。本书内容直观透彻、循序渐进,基础知识与案例实践紧密结合,采用独特的双栏图文并排方式,手把手指
查看大规模分布式存储系统原理解析与架构实战86.63M杨传辉pdf扫描版大规模分布式存储系统原理解析与架构实战是一本大规模存储系统的核心技术和原理分析书籍,由阿里巴巴高级技术专家杨传辉编著。本书内容丰富详细,系统的构建大规模存储系统的核心技术和原理,详细分析Google、Microsoft和阿里巴巴的大规模分布式存储系统的原
查看用python写网络爬虫电子书9.38Mpdf完整扫描版用python写网络爬虫是一本用Python进行数据处理和数据挖掘的代表著作,由澳大利亚程序员理查德·劳森(Richard Lawson)编著。本书讲解了从静态页面爬取数据的方法以及使用缓存来管理服务器负载的方法。此外,还介绍了如何使用AJAX URL和
查看