如何写出好程序

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

查看详情
您可能感兴趣 / 更多
如何写出好程序
最后一个人(《时代》杂志评其为“十大后世界末日小说”之一)
[英]玛丽·雪莱 著;新华先锋 出品
如何写出好程序
不能赢的辩护【当当定制“检方证物线索卡*5】金匕首奖得主史蒂夫·卡瓦纳推理神作
[英]史蒂夫·卡瓦纳 著;酷威文化 出品
如何写出好程序
谢林与现代欧洲哲学
[英]安德鲁·鲍伊
如何写出好程序
科普勒斯顿阿哲学史11
[英]弗雷德里克·科普勒斯顿 后浪
如何写出好程序
构建底层逻辑(用底层逻辑武装大脑,实现思维能力的跃升)
[英]艾萨克·瓦茨 译者;卢东民
如何写出好程序
哈利·波特 一段魔法史
[英]大英图书馆 编;向寻 冬翌 译
如何写出好程序
管教的常识:直面孩子成长的88个问题
[英]苏珊·伊莎克丝 译者;李江艳
如何写出好程序
卢梭与德国观念论:自由、依赖和必然
[英]大卫·詹姆斯(David James) 著;吴珊珊 译
如何写出好程序
点读版恐龙妙想国 动物妙想国系列全4册 3-6岁儿童趣味科普绘本爆笑动物认知启蒙图画书三角龙梁龙剑龙霸王龙恐龙科普故事幼儿园想象力绘本睡前故事书
[英]露丝·西蒙斯/著 (英)阿列克谢·彼特斯科夫/绘 邢培健 译
如何写出好程序
凤凰文库设计理论研究系列-杜威与设计:实用主义的设计视角研究
[英]布莱恩·S.迪克森 著;王成思 译;汪星宇
如何写出好程序
钢琴技巧实践
[英]默里·麦克拉克伦(Murray McLachlan) 著;孙晓雪 译
如何写出好程序
野蔷薇村的故事(全8册):40周年官方特别纪念版
[英]吉尔·巴克莲 著;[中]马爱农 译