如何写出好程序

如何写出好程序
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [英] (Perdita Stevens) ,
2021-07
版次: 1
ISBN: 9787111685326
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 192页
  • ◆本书通过丰富的小提示、故事和关键术语的解释,清晰地传授各种编程技巧。书中包含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重新定义企业》《回顾活动引导》的译者。 

    ◆第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 

  • 内容简介:
    ◆本书通过丰富的小提示、故事和关键术语的解释,清晰地传授各种编程技巧。书中包含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重新定义企业》《回顾活动引导》的译者。 

  • 目录:
    ◆第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 

查看详情
相关图书 / 更多
如何写出好程序
如何破解爱因斯坦的谜题 :挑战智商的29个推理难题(世界上只有约2%的人能算出正确答案)
[英]杰里米·斯特朗姆 著;王岑卉 译;未读 出品
如何写出好程序
如何证明你不是僵尸:拓宽思维的28个哲学难题(摆脱浅层次思考)
[英]杰里米·斯特朗姆 著;王岑卉 译
如何写出好程序
如何追上一束光·打破思维边界的14个思想实验
北村良子
如何写出好程序
如何像人类学家一样思考(企鹅·鹈鹕丛书)
[英]马修·恩格尔克 著;陶安丽 译者
如何写出好程序
如何撰写学术文章(第二版)(社会科学研究方法系列丛书)
邱济芳、聂伟、王晓焘 译
如何写出好程序
如何阅读管理学文献:提出科学问题与构建理论
贾明 著
如何写出好程序
如何引用法律
郭继良
如何写出好程序
如何写小楷
于魁荣 著
如何写出好程序
如何走向财富自由之路
罗建华 编著
如何写出好程序
如何做一个情绪稳定的成年人
清流
如何写出好程序
如何讲个好故事:律师的必修课
[美]菲利普·N·迈耶 著
如何写出好程序
如何进行资料收集(社会科学研究方法系列丛书)
李芬 译
您可能感兴趣 / 更多
如何写出好程序
施米特的国际政治思想:恐怖、自由战争和全球秩序危机
[英]佩蒂托(Fabio Petito) 编;刘小枫、[英]欧迪瑟乌斯(Louiza Odysseos)、郭小雨 译
如何写出好程序
美术馆的一天
[英]苏珊娜·贝利 著;[英]尼娅·古尔德 绘
如何写出好程序
Vagrant开发运维实战
[英]亚历克斯·布朗顿(Alex Braunton) 著;高远 译
如何写出好程序
黑白炫酷插画设计思维课世界绘画经典教程
[英]凯瑟琳·V.霍姆斯 著;赵东蕾 译
如何写出好程序
DK世界经典童话绘本(中英双语共6册)
[英]DK出版社 著;纯熙 译
如何写出好程序
威尼斯城记
[英]克里斯托弗·希伯特 著;高玉明、杨佳锋 译
如何写出好程序
彼得兔的故事·桥梁书(全14册)彩图注音版
[英]毕翠克丝·波特
如何写出好程序
莎士比亚四大悲剧(插图典藏版)
[英]威廉·莎士比亚 著
如何写出好程序
晚清西学丛书:富国策
[英]亨利·法思德 著;姚达兑 编;[清]汪凤藻 译;梅谦立、周伟驰、张锦冬 注
如何写出好程序
纸牌屋(2玩转国王全新修订版)(精)
[英]迈克尔·道布斯 著;何雨珈 译
如何写出好程序
DK爱上数学
[英]DK公司 编著
如何写出好程序
彩虹是什么/科学小达人STEM教育系列图画书
[英]哈丽雅特·布莱克福德 著;何茜 译