万本电子书0元读

万本电子书0元读

顶部广告

程序员的38堂成长课电子书

本书作者以38个话题为切,用幽默诙谐的笔触为你提炼出卓越程序员常用的方法和技巧。 每一章篇幅虽短,却发人深省,章末配有令人忍俊不禁的漫画。 无论在工作中使用哪种编程语言,你都将在轻松的阅读过程中不知不觉地提升作为程序员的第六感--代码感。 同样是程序员,为什么别人能构筑坚固的代码堡垒,而自己却深陷代码泥潭?为什么别人能写出美得像艺术品、优雅得像诗歌的代码,而自己却与几个月前才亲手写的代码形同陌路?亲爱的读者朋友,请不要妄自菲薄。其他程序员固然很好,但你也不错。或许,你需要的仅仅是有效的方法和技巧。

售       价:¥

纸质售价:¥82.30购买纸书

75人正在读 | 0人评论 6.2

作       者:[英]皮特•古德利夫(Pete Goodliffe) 著

出  版  社:人民邮电出版社有限公司

出版时间:2022-01-01

字       数:16.9万

所属分类: 科技 > 计算机/网络 > 软件系统

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书以38个话题的形式,从软件发的角度讲述了如何成为优秀的程序员,是一份“程序员成长课程表”。全书内容涵盖程序员职业生涯的方方面面,共分为五大部分:如何编写代码,有益编程的重要实践,如何造卓越的编程职业生涯,如何采用切实可行的办法按时交付代码,如何与其他从事软件发的人高效合作。不管你是经验丰富的发人员,还是发新手,抑或只是编程爱好者,都可以从本书中找到有价值的提示。<br/>【推荐语】<br/>本书作者以38个话题为切,用幽默诙谐的笔触为你提炼出卓越程序员常用的方法和技巧。 每一章篇幅虽短,却发人深省,章末配有令人忍俊不禁的漫画。 无论在工作中使用哪种编程语言,你都将在轻松的阅读过程中不知不觉地提升作为程序员的第六感--代码感。 同样是程序员,为什么别人能构筑坚固的代码堡垒,而自己却深陷代码泥潭?为什么别人能写出美得像艺术品、优雅得像诗歌的代码,而自己却与几个月前才亲手写的代码形同陌路?亲爱的读者朋友,请不要妄自菲薄。其他程序员固然很好,但你也不错。或许,你需要的仅仅是有效的方法和技巧。 ●让每一行代码都充满匠心的编写技巧、测试技巧和调试技巧 ●卓越程序员爱用的编程实践和方法,以及应有的工作态度 ●让编程生涯稳步提升的诀窍和学习的战术 ●把事做完和做好的方法,正确使用工具,积极寻求帮助 ●程序员应该如何寻觅良师益友<br/>【作者】<br/>皮特·古德利夫(Pete Goodliffe),是拥有20余年经验的程序员,现任inMusic公司软件发副总裁。他在软件发方面涉猎广泛,从操作系统实现到音频编解码器和多媒体应用发,再到嵌式固件发和iOS发。他为大型程序员社群ACCU撰写杂志专栏“Becoming a Better Programmer”,另著有《编程匠艺:编写卓越的代码》。<br/>
目录展开

版权声明

O'Reilly Media, Inc. 介绍

业界评论

献词

本书赞誉

前言

本书内容

读者对象

本书结构

编码乃余事

刻意练习,成就卓越

束身修行

计日程功

觅良师益友

予人本书,手有余香

O'Reilly在线学习平台(O'Reilly Online Learning)

联系我们

致谢

更多信息

第 1 章 心系代码

第一部分 编码乃余事1

第 2 章 保持外观整洁

2.1 编码规范不是小事

2.2 它关乎沟通

2.3 排版

2.3.1 结构合理

2.3.2 一致性

2.4 命名

2.4.1 简洁

2.4.2 清晰

2.4.3 地道

2.4.4 准确

2.5 得体地修改代码

2.6 结论

第 3 章 写更少的代码

3.1 为什么要关注

3.2 不严谨的逻辑判断

3.3 重复代码

3.4 僵尸代码

3.5 注释

3.6 喋喋不休

3.7 设计缺陷

3.8 空白

3.9 解决之道

3.10 结论

第 4 章 删除也是一种优化

4.1 代码沉迷

4.2 因为无法避免,所以可以接受

4.3 那又能怎样呢

4.4 唤醒梦中人

4.5 动个手术吧

4.6 结论

第 5 章 代码之背影

5.1 编码规范

5.2 技术现状

5.3 惯用法

5.4 设计决策

5.5 bug

5.6 结论

第 6 章 导航路线

6.1 朋友的帮助

6.2 寻找线索

6.3 边干边学

6.3.1 低垂的果实

6.3.2 代码检测

6.3.3 先研究,再行动

6.3.4 测试先行

6.3.5 整理内务

6.3.6 记录你的发现

6.4 结论

第 7 章 走出泥潭

7.1 嗅出问题

7.2 走进泥淖

7.3 用调查说话

7.4 入坑工作

7.5 清理混乱

7.6 做出改变

7.7 编写烂代码就是糟糕的程序员吗

第 8 章 不可忽视错误

8.1 错误机制

8.2 疯狂的举动

8.3 托词

8.4 结论

第 9 章 意料之中的意外

9.1 各种错误

9.2 线程

9.3 关闭系统

9.4 话外之意

第 10 章 bug 追踪

10.1 经济考量

10.2 预防胜于治疗

10.3 bug 追踪

10.3.1 捕获错误

10.3.2 活用二分法

10.3.3 软件考古

10.3.4 测试,测试,再测试

10.3.5 磨刀不误砍柴工

10.3.6 用排除法查找问题

10.3.7 保持清洁,预防疾病

10.3.8 迂回策略

10.3.9 不要急于离开

10.4 不可复现的 bug

10.5 结论

第 11 章 测试时间

11.1 为什么测试

11.1.1 缩短反馈循环

11.1.2 测试代码的代码

11.1.3 谁来编写测试

11.2 测试的种类

11.3 什么时候编写测试

11.4 什么时候运行测试

11.5 测试什么

11.6 优质的测试

11.7 一个具体的测试

测试的命名

11.8 测试的结构

11.8.1 测试的维护

11.8.2 选择测试框架

11.9 没有代码是孤岛

11.10 结论

第 12 章 应对复杂性

12.1 圆团

12.2 案例学习:降低圆团复杂度

12.3 线条

12.4 人

12.5 结论

第 13 章 双城故事

13.1 混乱大都市

13.1.1 让人无法理解

13.1.2 缺乏内聚

13.1.3 不必要的耦合

13.1.4 代码问题

13.1.5 代码之外的问题

13.1.6 一张来自大都市的明信片

13.2 设计之城

13.2.1 合理放置功能

13.2.2 一致性

13.2.3 架构的演进

13.2.4 延缓设计决策

13.2.5 保证质量

13.2.6 管理技术债 1

13.2.7 测试方案设计

13.2.8 设计时间分配

13.2.9 与设计同行

13.3 那又怎样

第二部分 刻意练习,成就卓越

第 14 章 软件开发是……

14.1 软件(食物)那些事

14.2 软件开发是……艺术

14.3 软件开发是……科学

14.4 软件开发是……运动

14.5 软件开发是……做游戏

14.6 软件开发是……鸡毛蒜皮的琐事

14.7 隐喻过多

第 15 章 遵守规则

15.1 我们需要更多规则!

15.2 制定规则

第 16 章 保持简单

16.1 简单设计

16.1.1 简单易用

16.1.2 防止误用

16.1.3 大小很重要

16.1.4 代码调用路径短

16.1.5 稳定性

16.2 简单代码

16.3 保持简单,别做蠢事

16.4 假设会损害简单性

16.5 避免过早优化

16.6 足够简单

16.7 简单结论

第 17 章 开动脑筋

17.1 别犯傻

17.2 避免盲目

17.3 你可以思考!

第 18 章 没有一成不变

18.1 大胆地改

18.2 改变态度

18.3 做出改变

18.3.1 规划改变

18.3.2 改变的工具

18.3.3 慎重地选择战场

18.4 万变不离其宗

第 19 章 代码复用案例

19.1 代码复用案例1:复制–粘贴

19.2 代码复用案例2:为复用进行设计

19.3 代码复用案例3:提升和重构

19.4 代码复用案例4:购买或重新发明轮子

第 20 章 高效版本控制

20.1 用进废退

20.2 随便选一个

20.3 存储正确之物

20.3.1 答案一:存储所有

20.3.2 答案二:存储尽可能少的文件

20.3.3 存储软件版本

20.3.4 代码库的布局

20.4 用好版本控制系统

20.4.1 原子提交

20.4.2 提供正确的信息

20.4.3 精心创建代码提交

20.5 分支:只见树木不见森林

20.6 代码的家园

20.7 结论

第 21 章 让球越过门柱

21.1 软件开发:充满有机肥料的管道

21.2 错误的非黑即白

21.3 通过解决团队问题来修复代码问题

21.4 将构建发送给QA人员

21.4.1 首先进行自测

21.4.2 明确发布意图

21.4.3 欲速则不达

21.4.4 自动化

21.4.5 尊重

21.5 当你收到故障报告时

21.6 差异使我们更强大

21.7 拼图的碎片

第 22 章 冻结代码奇事

22.1 寻找代码冻结

22.2 世界新秩序

22.3 冻结的类型

22.4 采用分支解决问题

22.5 不是真正冻结

22.6 代码冻结的时间

22.7 感受代码冻结

22.8 就快结束了

22.9 反代码冻结

22.10 结论

第 23 章 软件发布

23.1 流程的一部分

23.2 机器上的一个齿轮

23.2.1 第1步:初始化发布

23.2.2 第2步:准备发布

23.2.3 第3步:构建发布

23.2.4 第4步:打包

23.2.5 第5步:部署

23.3 早发布、勤发布

23.4 还有更多……

第三部分 束身修行

第 24 章 做一个乐知者

24.1 学习什么

24.2 学习如何学习

24.3 学习模型**

知识组合

24.4 以教促学

24.5 知行合一

24.6 我们学到了什么

第 25 章 考试驱动型程序员

25.1 把问题讲清楚

25.2 成功使人自满

25.3 考试时光

25.4 考试驱动型程序员

25.5 结论

第 26 章 享受挑战

26.1 激励

26.2 有哪些挑战

26.3 是谁在说:不要这么做!

26.4 接受挑战

26.5 结论

第 27 章 避免停滞

27.1 技能就是你的投资

27.2 为本书读者准备的一个练习

27.3 职业安全

第 28 章 程序员的道德规范

28.1 对代码的态度

28.2 法律问题

28.3 对人的态度

28.3.1 队友

28.3.2 管理者

28.3.3 雇主

28.3.4 你自己

28.4 希波克拉底誓言

28.5 结论

第 29 章 热爱编程语言

29.1 热爱所有的语言

29.2 热爱你的语言

29.3 与编程语言磨合

29.3.1 爱和尊重

29.3.2 承诺

29.3.3 沟通

29.3.4 耐心

29.3.5 共同的价值观

29.4 这是一个完美的比喻吗

29.5 结论

第 30 章 程序员的姿态

30.1 基本的计算机操作姿态

30.1.1 调试代码时的姿态

30.1.2 当情况恶化时

30.1.3 通宵加班

30.1.4 高层介入干预

30.1.5 警报解除

30.1.6 设计阶段

30.2 视觉疲劳

30.3 结论

第四部分 计日程功

第 31 章 用智不用力

31.1 慎选战场

31.2 战斗策略

31.2.1 复用智慧

31.2.2 转变成别人的问题

31.2.3 只做必须做的

31.2.4 使用探针试验

31.2.5 排优先级

31.2.6 确认什么是真正需要的

31.2.7 一次只做一件事

31.2.8 保持简单

31.2.9 不要拖延和积累问题

31.2.10 自动化

31.2.11 预防错误

31.2.12 沟通

31.2.13 避免过度疲劳

31.2.14 强大的工具

31.3 结论

第 32 章 完成之际即完成

32.1 我们还没到吗

32.2 逆向开发:分解

32.3 定义“完成”

32.4 说干就干

第 33 章 这次我明白了……

33.1 荒岛式开发

33.2 站在山脚下

第五部分 觅良师益友

第 34 章 他人之力

34.1 如何实现

34.2 你心目中的专家

34.3 事后诸葛亮

第 35 章 至关重要的一个认知

35.1 拓展这个隐喻

35.2 责任感是关键

35.3 代码评审

35.4 落地

35.5 定标准

35.6 后续行动

35.7 结论

第 36 章 说出来!

36.1 编写代码就是沟通

36.1.1 和机器说话

36.1.2 和生灵说话

36.1.3 和工具说话

36.2 人与人之间的沟通

36.2.1 交谈方式

36.2.2 注意你的言辞

36.2.3 肢体语言

36.2.4 并行沟通

36.3 团队之间的沟通

36.4 与客户沟通

36.5 其他沟通

36.6 结论

第 37 章 各种宣言

37.1 软件开发通用宣言

37.2 就此打住

37.3 一些宣言

37.4 真是这样吗

37.5 画龙点睛

第 38 章 代码赋

编写代码是人的问题

后记

态度

向着代码前进

关于作者

关于封面

看完了

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部