675134 代码之外的功夫:程序员精进之路.pdf
《675134 代码之外的功夫:程序员精进之路.pdf》由会员分享,可在线阅读,更多相关《675134 代码之外的功夫:程序员精进之路.pdf(130页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 图灵社区的电子书没有采用专有客 户端,您可以在任意设备上,用自 己喜欢的浏览器和PDF阅读器进行 阅读。 但您购买的电子书仅供您个人使用, 未经授权,不得进行传播。 我们愿意相信读者具有这样的良知 和觉悟,与我们共同保护知识产权。 如果购买者有侵权行为,我们可能 对该用户实施包括但不限于关闭该 帐号等维权措施,并可能追究法律 责任。 ? 图 灵 程 序 设 计 丛 书 人 民 邮 电 出 版 社 北 京 Programming Beyond Practices: Be More Than Just a Code Monkey 美Gregory T. Brown 著 李志 译 Beijing
2、Boston Farnham Sebastopol Tokyo OReilly Media, Inc.授权人民邮电出版社出版 代码之外的功夫: 程序员精进之路 内 容 提 要 本书虽然面向程序员,却不包含代码。在作者看来,90% 的程序设计工作都不需要写代码; 程序员不只是编程专家,其核心竞争力是利用代码这一工具解决人类社会的常见问题。以此作为出 发点,作者精心构思了8 个故事,以情景代入的方式邀请读者思考代码之外的关键问题: 软件开 发工作如何从以技术为中心转为以人为本? 透过故事主人公的视角,读者能比较自己与书中角色的 差异,发现决策过程的瑕疵,提升解决问题的综合能力。 书中的故事涵盖程序
3、员的整个软件开发生涯, 但经过了浓缩, 可供所有软件开发人员快速阅读。 定价:49.00元 读者服务热线:(010)51095186转600 印装质量热线:(010)81055316 反盗版热线:(010)81055315 广告经营许可证:京东工商广登字 20170147 号 著 美 Gregory T. Brown 译 李 志 责任编辑 谢婷婷 执行编辑 回 春 责任印制 周昇亮 人民邮电出版社出版发行 北京市丰台区成寿寺路11号 邮编 100164 电子邮件 315 网址 北京 印刷 开本:8001000 1/16 印张:7.75 字数:183千字 2018年 3 月第 1 版 印数:1
4、3 500册 2018年 3 月北京第 1 次印刷 著作权合同登记号 图字:01-2017-6481号 iii 版权声明 2017 by Gregory T. Brown. Simplified Chinese Edition, jointly published by OReilly Media, Inc. and Posts & Telecom Press, 2018. Authorized translation of the English edition, 2018 OReilly Media, Inc., the owner of all rights to publish and
5、 sell the same. All rights reserved including the rights of reproduction in whole or in part in any form. 英文原版由 OReilly Media, Inc. 出版,2017。 简体中文版由人民邮电出版社出版,2018。英文原版的翻译得到 OReilly Media, Inc. 的 授权。此简体中文版的出版和销售得到出版权和销售权的所有者OReilly Media, Inc. 的许可。 版权所有,未得书面许可,本书的任何部分和全部不得以任何形式重制。 OReilly Media 通过图书、杂
6、志、在线服务、调查研究和会议等方式传播创新知识。 自 1978 年开始,OReilly 一直都是前沿发展的见证者和推动者。超级极客们正在开创 着未来,而我们关注真正重要的技术趋势通过放大那些“细微的信号”来刺激社 会对新科技的应用。作为技术社区中活跃的参与者,OReilly 的发展充满了对创新的 倡导、创造和发扬光大。 OReilly 为软件开发人员带来革命性的“动物书” ;创建第一个商业网站(GNN) ; 组织了影响深远的开放源代码峰会,以至于开源软件运动以此命名;创立了 Make 杂 志,从而成为 DIY 革命的主要先锋;公司一如既往地通过多种形式缔结信息与人的纽 带。OReilly 的会
7、议和峰会集聚了众多超级极客和高瞻远瞩的商业领袖,共同描绘出 开创新产业的革命性思想。作为技术人士获取信息的选择,OReilly 现在还将先锋专 家的知识传递给普通的计算机用户。无论是通过书籍出版、在线服务或者面授课程, OReilly 的每一项产品都反映了公司不可动摇的理念信息是激发创新的力量。 业界评论 “OReilly Radar 博客有口皆碑。 ” Wired “OReilly 凭借一系列非凡想法(真希望当初我也想到了)建立了数百万美元的业务。 ” Business 2.0 “OReilly Conference 是聚集关键思想领袖的绝对典范。 ” CRN “一本 OReilly 的书就
8、代表一个有用、有前途、需要学习的主题。 ” Irish Times “Tim 是位特立独行的商人,他不光放眼于最长远、最广阔的视野并且切实地按照 Yogi Berra 的建议去做了: 如果你在路上遇到岔路口,走小路(岔路) 。 回顾过去, Tim 似乎每一次都选择了小路,而且有几次都是一闪即逝的机会,尽管大路也不错。 ” Linux Journal OReilly Media, Inc.介绍 v 目录 前言 .vii 第 1 章 善用设计原型,探索项目创意 .1 1.1 从理解项目背后的需求入手 .2 1.2 利用线框图表达功能需求 .3 1.3 编程之初立即搭建测试系统 .4 1.4 全面探
9、讨不足,改善追求实效 .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 遭遇烂代码,维护必头
10、疼 .35 3.5 不存在纯粹的内部问题 .37 图灵社区会员 ChenyangGao(2339083510) 专享 尊重版权 vi 目录 第 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 逐步提取可复用的组件与协
11、议 .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 章 认清行业未来,再议
12、软件开发 .101 作者介绍 .110 封面介绍 .110 前言 关于本书 本书不是教材,而是一本“故事集” 。书中收录的各个小故事可以指导你正确地对待软件 项目,并且更好地完成项目中的工作。 翻开本书,你不会找到任何教科书式的建议。相反,本书将为你呈现一系列案例。你将看 到一线开发人员在实践中真正遇到的问题,以及寻找解决方案的过程。 为了增强代入感并鼓励你在阅读时发挥创造力,本书将你作为每个故事的主角。如果你感 到有点怪怪的,这很正常。其实,我在写这篇介绍时也感觉挺怪的! 我希望这种情景代入方式可以让你学到更多,而不是觉得“这本书又是哪个编程专家口若 悬河的说教” 。我更希望你能提出这样的问
13、题: “如果我置身于此情此景,真的会像书中那 样做吗?如果不会,那是为什么呢?” 我建议你在阅读本书的过程中深入问题内部,从更深的层次反省自己的行为、习惯和看待 问题的方式。最好在读书时手边能有本笔记,一有想法就赶紧记下来,以便日后与朋友和 同事分享。本书中的概念需要经过思考和讨论,不能不求甚解地一带而过。 在每个故事里,你都会有不同的身份。每个情景都经过仔细的设计,能教给你有用的知 识。但最重要的是,你要注意比较真实的自己和我为你设定的角色,寻找其中的共同点和 值得深究的不同点。 没错,这样说好像有点急功近利了。但读书或写书的最终目的,不就是充实自己,让自 己变得更好吗?我们都在朝着这个方向
14、努力。有了你的配合和帮助,我觉得我们能够做 得不错。 好了朋友,系好安全带,我们要出发了。 vii viii 前言 本书概览 本书的故事覆盖整个软件开发生涯,但经过了浓缩,可供所有一线开发人员快速阅读。 在第 1 章中,你是能力很强的程序员,并且正在发挥技术特长,运用速成原型法帮助人们 探索新的产品创意。 在第 2 章中,工作变得复杂起来。你需要逐步扩展现有系统,同时需要为很多活跃客户提 供支持。你发现理想丰满而现实骨感:一方面,你想按照自认为正确的想法进行工作;另 一方面,客户不断给你施压,要求你尽快交付新的特性。 在第 3 章中,你对草率决策的代价,尤其是在整合外部代码的过程中仓促决策所带
15、来的损 失,有了更深的理解。你从过去的错误中学到很多,并开始关注业务、客户服务及技术工 作三者之间的复杂关系。 在第 4 章中,你已经成为了经验相当丰富的开发人员,并且有能力教别人如何看待编程和 解决问题。你现在已经开始指导新入行的朋友了。 在第 5 章中,你已经成为良师。你的开发经验已经非常丰富,足以单打独斗。即使是现场 演示,你也能从容应对。你运用这些技能给学生上课,教他们怎样填补理论与实践之间的 空白,将二者结合起来。 在第 6 章中,你在通往大师的道路上继续前行。你可以指出公司遗留系统的弱点,并设计 合适的组件进行替换,既使商业效果得到优化,又使工作流程更加友好。 在第 7 章中,你对
16、整个软件行业都已经足够熟悉。无论组织的哪个层级出现问题,你都能 发现并修复。你的核心竞争力仍然是软件开发,但足够丰富的经验使你能很好地与各个层 级的人员进行交流。 在第 8 章中,你开始思考整个计算机行业的发展问题。此刻,你可以自由选择自己未来的 职业发展道路,所以现阶段最重要的问题变为:自己将如何发展,以及为何作此抉择? 由于软件开发人员的职业发展路线更像是螺旋线而非直线,因此无论你现在处于哪个阶 段,我都建议你通读所有章节。 我写下的这些故事适用于不同水平的读者,本书也并不会给“初级”和“高级”划分界 限。每一章都是独立的,所以也可以不按顺序阅读但想要获得最好的效果,还是逐页 阅读为好。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 675134 代码之外的功夫:程序员精进之路 代码 之外 功夫 程序员 精进
限制150内