搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
如何写出好程序
0.00     定价 ¥ 69.00
图书来源: 浙江图书馆(由JD配书)
此书还可采购15本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787111685326
  • 作      者:
    [英]佩蒂塔·史蒂文斯(Perdita,Stevens)
  • 译      者:
    王磊 周训杰 万学凡译
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2021-07-01
收藏
编辑推荐


◆学习编程并不仅仅是学习编程语言的细节:要想成为一名优秀的程序员,就必须成为调试代码、测试代码、编写清晰代码的专家,并且能解决遇到的任何疑难问题。同样,要想在编程课程中获得好成绩,就必须学会如何在作业和考试中取得高分。


◆本书通过丰富的小提示、故事和关键术语的解释,清晰地传授各种编程技巧。书中包含Python、Java和Haskell的示例,无论你正在学习哪一种编程语言,都能帮助你获得可移植的编程技能。


◆本书主要面向学习编程课程的学生以及编程初学者和希望提升编程技艺的程序员,能帮助你在课程中取得好成绩,并有助于养成良好的软件工程习惯,从而开发出易读且高效的好程序。


展开
作者简介

◆ 作者简介 ◆

佩蒂塔.史蒂文斯(Perdita Stevens)是爱丁堡大学的教授,曾教授多种编程语言的编程和软件工程课程,学生涵盖本科一年级学生到成熟的专业软件开发人员。她与人合著了Using UML: Software Engineering with Objects and Components(1998),还因双向转换方面的工作获得了2017年建模大会的10年极具影响力论文奖和最佳论文奖。

 

◆ 译者简介 ◆

王磊,资深技术咨询师,具有15年以上软件开发经验,覆盖金融、通信、互联网、汽车等行业。对于微服务架构、DDD、敏捷工程实践、DevOps流程与技术、分布式开发、数据库性能调优、开发有着丰富经验。现任凯捷咨询(中国)有限公司首席架构师,译有《Kubernetes 实战》。

 

周训杰,资深技术咨询师,代表译作《演进式架构》,现任ThoughtWorks北美业务线技术负责人。拥有十多年软件开发相关经验。有着丰富的企业级和互联网应用的开发架构实战经验,擅长遗留系统改造及企业数字化平台建设。

 

万学凡,数字化转型专家,InfoQ2020年度中国十大IT产业推动者。现任凯捷咨询(中国)有限公司AVP,首席咨询顾问。《EDGE:价值驱动的数字化转型》《内容智能:打赢每一场运营战争》《AI重新定义企业》《回顾活动引导》的译者。


展开
内容介绍

◆本书通过丰富的小提示、故事和关键术语的解释,清晰地传授各种编程技巧。书中包含Python、Java和Haskell的示例,无论你正在学习哪一种编程语言,都能帮助你获得可移植的编程技能。


◆首先介绍什么是好程序,然后讨论如何理解编程语言和使用最佳工具,以及如何确保程序不会丢失。接下来介绍如何让程序清晰,如何测试、调试和优化程序,以及如何获得帮助。最后介绍如何在课程作业和编程考试中取得好成绩,以及如何选择编程语言。

 


展开
精彩书评

◆不管是初学者,还是在键盘和屏幕前积累了不少开发经验的在职程序员,养成良好的编程习惯都是事半功倍的关键。测试、调试、优化,让程序清晰而简洁,这些基本功恰好是一个程序员通向职业成功道路的铺路石。可以说,这是一本值得刚上手编程的学生一读的好书。此外,对于有经验的程序员,这本书也打开了一扇用不同视角审视编程艺术的窗口。
——沈刚,华中科技大学软件学院教授

◆程序员不仅要学会编写程序,还要学会测试和调试程序。为了编写大型程序,跟更多的程序员合作,他们要学会写整洁的代码,学会重构,让代码具有自解释性和可维护性。这让程序员更像是一个手艺人。


◆除了方便自己,你的程序如何帮助更多的人呢?尤其是那些弱势群体,如何让他们生活得更好?如何让你的程序符合道德伦理,拒绝侵犯隐私,最后造福整个社会?
我想这才是好程序。
——张凯峰,InfoQ社区编辑

◆本书由浅入深地向读者讲述了写出好程序的思维与方法,并记录了作者丰富的编程思考与经验。无论是刚开始学习编程的“学员”,还是初入职场的编程“新人”,或者是具有一定编程经验的“老兵”,都可以从这本书中汲取到养分,收获良多。同时,这本书中的所思所得对于从事教学与培训行业的讲师与课程设计师而言,也有非常高的学习、借鉴与参考价值。
——宋俊毅,牛鹭学院联合创始人

◆这本书清晰流畅、行云流水,言语之间无一不阐述着那些通用的编程技艺。阅读本书,将从了解编辑器、IDE、版本控制、单元测试、测试程序、调试、重构、防御式编程、优化入手,磨炼基本功,进而培养良好的编程习惯,形成专业的风格和极致的治学态度,并在追求卓越的过程中积累习惯,将其变成编程道路甚至人生道路上的一种修养。
——张喻,腾讯科技研发工程师

◆本书提供了大量特别适用于编程初学者的优秀建议。本书内容与编程语言无关,结构合理,讲授方式通俗易懂。建议不妨用亲切的大号字体在本书封面写上“不用惊慌失措”。
——Jeremy Gibbons,牛津大学教授

◆这是一本非常独特的书,阅读时感觉就像手捧一杯咖啡、听一位经验丰富的计算机编程专家娓娓道来。书中大量实用的小提示、见解和行业故事,对任何想要学习编程的人都大有裨益。
——Tom Ward,利兹大学教授

◆真心希望在我上大学期间和职业生涯之初就有这样一本书!它抛开具体的编程语言来解释基本的概念,并且包含了许多实用的评论和提示,可以帮助新手程序员解决容易出现的难题。
——Jennifer Tenzer,一家全球资产管理公司的
高级开发人员

展开
目录

◆第1章  介绍 1

1.1 本书适合谁 3

1.2 关于方框 4

1.3 本书的结构 6

1.4 致谢 6


◆第2章  什么是好程序 8


◆第3章  如何开始 11

3.1 究竟什么是程序 11

3.2 你需要什么 12

3.2.1 使用交互式提示 13

3.2.2 使用文本编辑器 14

3.3 了解待办任务 16

3.4 编写程序 18

3.4.1 设置任务 19

3.4.2 朝着完全正确的代码迈进 24

3.5 感到困惑时怎么办 25


◆第4章  如何理解编程语言 29

4.1 编译与解释 30

4.2 类型 33

4.3 结构 36

4.4 历史、社区与动机 38

4.5 范式 39


◆第5章  如何使用最佳工具 42

5.1 使用最基本的工具 43

5.2 什么是IDE 44

5.3 展望 47


◆第6章  如何确保程序不会丢失 48

6.1 立即恢复:撤销 49

6.2 基本灾难恢复:文件 49

6.3 避免灾难:保存版本 51

6.4 流程自动化:使用版本控制系统 52

6.5 管理未使用的代码 54

6.6 备份和云 56


◆第7章  如何测试程序 59

7.1 手动测试 60

7.2 基本的自动化测试 62

7.3 正确的自动化测试 65

7.4 你应该进行哪些测试 66

7.5 应该在何时编写测试 68

7.6 基于属性的测试 69


◆第8章  如何让程序清晰 72

8.1 编写清晰的代码对你有何帮助 72

8.2 注释 74

8.3 名字 77

8.4 布局和留白 80

8.5 结构和习惯用法 83


◆第9章  如何调试程序 87

9.1 当程序还无法运行时 89

9.2 当程序执行错误时 94

9.3 纸板调试法 103

9.4 如果这些都失败了 103

9.5 修复bug 104

9.6 修复bug后 106

9.6.1 查找类似的bug 106

9.6.2 避免重复出现相同的bug 108

9.6.3 防御式编程 112


◆第10章  如何优化程序 114

10.1 可维护性 115

10.1.1 消除重复 116

10.1.2 选择抽象 120

10.2 效率 122

10.3 重构 126

10.4 提升技能 129


◆第11章  如何获得帮助 132

11.1 解决一般问题 133

11.2 解决具体问题 135

11.2.1 从错误信息中获得帮助 136

11.2.2 查找说明和有用的代码 137

11.2.3 解决复杂的程序问题 138

11.2.4 寻求帮助 140

11.2.5 入门帮助 141

11.3 当老师让你困惑时怎么办 142


◆第12章  如何在课程作业中取得好成绩 144

12.1 七条黄金法则 144

12.2 上机实验 146

12.3 课程设计 147

12.4 团队合作 148

12.5 演示 149

12.6 反思写作 150


◆第13章  如何在编程考试中取得好成绩 152

13.1 准备考试 153

13.1.1 了解考核内容 153

13.1.2 用以前的试卷练手 154

13.1.3 考试规划 155

13.2 考试中 155

13.3 书面考试的具体要点 156

13.4 上机考试的具体要点 156

13.5 选择题考试 157


◆第14章  如何选择编程语言 159

14.1 需要考虑的问题 159

14.2 你可能遇到的几种语言 162

14.3 语言环境的变化 164


◆第15章  如何超越本书 166

15.1 编写更多程序 166

15.2 特定的编程语言 167

15.3 一般编程 167

15.4 软件工程 168

15.5 编程语言理论 170


展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证