如何写出好程序

如何写出好程序
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [英] (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 

查看详情
您可能感兴趣 / 更多
如何写出好程序
破冰游戏(英国前自由式滑雪运动员艾莉?雷诺兹处女作 阿尔卑斯暴风雪山庄 × 心理惊悚 × 滑雪竞技)午夜文库
[英]艾莉·雷诺兹 著;乔迪 译
如何写出好程序
卢梭与德国观念论:自由、依赖和必然
[英]大卫·詹姆斯(David James) 著;吴珊珊 译
如何写出好程序
新东方 剑桥KET考试强化练习 适用中期备考引进自Klett出版集团全真模拟
[英]梅甘;罗德里克(Megan Roderick);[西]贝尔纳多;莫拉莱斯(Bernardo Morales)
如何写出好程序
点读版恐龙妙想国 动物妙想国系列全4册 3-6岁儿童趣味科普绘本爆笑动物认知启蒙图画书三角龙梁龙剑龙霸王龙恐龙科普故事幼儿园想象力绘本睡前故事书
[英]露丝·西蒙斯/著 (英)阿列克谢·彼特斯科夫/绘 邢培健 译
如何写出好程序
玩着玩着看懂名画·画里发生了什么?
[英]苏西·布鲁克斯/著绘 王柯 译
如何写出好程序
当小脚慢下来 发现小小世界
[英]劳拉·布兰德/文 (英)弗雷亚·哈尔塔斯/图 张木天 译
如何写出好程序
正向陪伴儿童成长绘本·好行为(全7册)正向引导孩子积极解决行为问题,“百班千人”幼儿阅读研究院院长孙莉莉等力荐
[英]休·格雷夫斯 文
如何写出好程序
正向陪伴儿童成长绘本·好情绪(全7册)正向引导孩子积极解决情绪问题,“百班千人”幼儿阅读研究院院长孙莉莉等力荐
[英]休·格雷夫斯 文
如何写出好程序
霍比特人 精装版
[英]J.R.R. 托尔金 著;李镭 译
如何写出好程序
正向陪伴儿童成长绘本·好经验(全8册)正向引导孩子积极解决第一次生活经验问题,“百班千人”幼儿阅读研究院院长孙莉莉等力荐
[英]休·格雷夫斯
如何写出好程序
GAME BOY 封绘艺术
[英]Bitmap Books出版社
如何写出好程序
教育与工作的目的:对工作和学习的新哲思
[英]约翰·怀特(John White) 著;迟艳杰 译