摘要
如果你认为程序员的工作是写代码,那大错特错了!事实上,编程只占程序设计工作的10%,而且是相对简单的工作。本书以8个虚构的故事为主线,邀你探索更有趣、更具挑战性的那90%的程序设计工作,构建行之有效的思维框架,从而提升解决问题的综合能力。
代码之外的功夫 程序员精进之路 内容简介
本书虽然面向程序员,却不包含代码。在作者看来,90%的程序设计工作都不需要写代码;程序员不只是编程专家,其核心竞争力是利用代码这一工具解决人类社会的常见问题。以此作为出发点,作者精心构思了8个故事,以情景代入的方式邀请读者思考代码之外的关键问题:软件开发工作如何从以技术为中心转为以人为本?透过故事主人公的视角,读者能比较自己与书中角色的差异,发现决策过程的瑕疵,提升解决问题的综合能力。
代码之外的功夫 程序员精进之路 目录
前言 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
代码之外的功夫 程序员精进之路 精彩文摘
1.2 利用线框图表达功能需求
弄清楚几个整体性问题之后,你把注意力转回到方法论上来:如何开始项目的第一轮开发。通常在这一阶段,绘制线框图非常有帮助。你可以通过线框图向大家解释待开发应用的基本结构,同时让大家都了解需要完成什么工作,以免因过度关注技术细节而迷失了大方向。
你建议不要花费过长时间去讨论推荐系统的实现方式,而应该先集中精力寻找“最简单可行的方法”。
本文来自别舍不得旧情人投稿,不代表电子书资源网立场,如若转载,请联系原作者获取。