编辑推荐
如果你认为程序员的工作是写代码,那大错特错了!事实上,编程只占程序设计工作的10%,而且是相对简单的工作。本书以8个虚构的故事为主线,邀你探索更有趣、更具挑战性的那90%的程序设计工作,构建行之有效的思维框架,从而提升解决问题的综合能力。
“这是一本特立独行的书,篇幅很短,内容却很丰富,深入探究了一些软件开发中十分重要却少有人关注的问题。”
——Michael Feathers
面向对象技术专家,测试框架CppUnit和FitCpp开发人员,《修改代码的艺术》作者
内容简介
本书虽然面向程序员,却不包含代码。在作者看来,90%的程序设计工作都不需要写代码;程序员不只是编程专家,其核心竞争力是利用代码这一工具解决人类社会的常见问题。以此作为出发点,作者精心构思了8个故事,以情景代入的方式邀请读者思考代码之外的关键问题:软件开发工作如何从以技术为中心转为以人为本?透过故事主人公的视角,读者能比较自己与书中角色的差异,发现决策过程的瑕疵,提升解决问题的综合能力。
作者简介
作者介绍
Gregory T. Brown,期刊Practicing Ruby出版人;非常流行的PDF生成库Prawn PDF的原作者;IT咨询顾问,帮助过各种规模的公司确定核心业务问题,力求以* 少的代码解决问题。
译者介绍
李志,1995年生于山东济南。目前在西安交通大学人工智能与机器人研究所从事计算机视觉相关研究,同时在西安交通大学软件学院攻读软件工程硕士学位。本科毕业于西安交通大学外国语学院英语系,英语专业八级,同时具备英语语言文学功底和计算机专业知识。
目录
前言 vii
* 1章 善用设计原型,探索项目创意 1
1.1 从理解项目背后的需求入手 2
1.2 利用线框图表达功能需求 3
1.3 编程之初立即搭建测试系统 4
1.4 全面探讨不足,改善追求实效 6
1.5 早问多问,验证设想 8
1.6 力求缩小自己的工作范围 8
1.7 谨记原型并非生产系统 12
1.8 巧妙设计特性,轻松收集反馈 13
* 2章 观察增量变更,发掘隐藏依赖 19
2.1 不存在所谓的“独立特性” 19
2.2 两特性同屏必相互依赖 21
2.3 避免不必要的实时数据同步 23
2.4 复用旧代码,寻找新问题 25
第3章 准确识别痛点,高效集成服务 29
3.1 面对小众需求,切记未雨绸缪 30
3.2 谨记外部服务并不可靠 31
3.3 服务一旦有变,查找过期的模拟对象 34
3.4 遭遇烂代码,维护必头疼 35
3.5 不存在纯粹的内部问题 37
第4章 设计严密方案,逐步解决问题 39
4.1 收集事实,清晰描述 40
4.2 写代码之前手动解决部分问题 42
4.3 核实输入数据,随后进行处理 44
4.4 善用演绎推理,检验工作质量 46
4.5 欲解复杂问题,先知简单情况 47
第5章 谨记自底向上,优化软件设计 55
5.1 找出关键词,认清问题 56
5.2 从实现* 小化功能入手 57
5.3 避免对象间不必要的时间耦合 60
5.4 逐步提取可复用的组件与协议 63
5.5 进行大量实验,发掘隐藏抽象 66
5.6 了解自底向上方法的局限 67
第6章 认清现实瑕疵,改善数据建模 71
6.1 分清概念建模和物理建模 71
6.2 明确设计模型,追踪数据变化 74
6.3 理解康威定律,实践数据管理 78
6.4 谨记工作流设计与数据建模密不可分 81
第7章 逐渐改善流程,合理安排时间 85
7.1 敏捷、安全地应对意外故障 86
7.2 识别并分析操作瓶颈 88
7.3 注意权衡工作的经济效益 89
7.4 限制积压工作,力求减少浪费 92
7.5 力求整体大于部分之和 95
第8章 认清行业未来,再议软件开发 101
作者介绍 110
封面介绍 110
代码之外的功夫 程序员精进之路 电子书 下载 mobi epub pdf txt