读书

《代码整洁之道--程序员的职业素养》读书笔记

2019-01-14  本文已影响0人  跑马溜溜的球

Robert C.Martin 著

第1章 专业主义

1.1 清楚你要什么

专业主义:它不但象征着荣誉与骄傲,而且明确意味着责任义务与担当。

1.3 首先,不行损害之事

1.3.1 不要破坏软件功能

写一些随时都能运行的单元测试,然后尽可能多地执行这些测试。测试覆盖率尽可能为100%。

1.3.2 不要破坏结构

1.4.1 了解你的领域

1.4.3 练习

每日10分钟卡塔。

第2章 说不

2.1 对抗角色

最好的结果是你和你的经理追求共同的目标。最关键的是要找到那个共同目标,而这往往有赖于协商。

2.2 高风险时刻

2.4 说“是”的成本

2.5 如何写出好代码

第3章 说是

3.3 结论

专业人士不需要对所有请求都回答“是”。不过,他们应该努力寻找创新的方法,尽可能做到有求必应。

第4章 编码

4.2.2 中断

4.3 阻塞

4.4 调试

4.6 进度延迟

4.6.2 盲目冲刺

4.6.3 加班加点

不应该采用额外加班加点的工作方案,除非以下三个条件都能满足:

  1. 你个人能挤出这些时间。
  2. 短期加班,最多加班两周。
  3. 你的老板要有后备预案,以防万一加班措施失败了。

4.7 帮助

第5章 测试驱动开发

5.2 TDD的三项法则

  1. 在编好失败单元测试之前,不要编写任何产品代码。
  2. 只要有一个单元测试失败了,就不要再写测试代码;无法通过编译也是一种失败情况。
  3. 产品代码恰好能够让当前失败的单元测试成功通过即可,不要多写。
    这两个循环不断反复。写一些测试代码,然后再写一些产品代码。这两套代码同步增长,互为补充。

5.3 TDD的优势

5.3.3 勇气

5.3.4 文档

5.3.5 设计

第6章 练习

6.2 编程柔道场

6.2.1 卡塔

http://katas.softwarecraftsmanship.org/
http://codekata.pragprog.com/

6.3 自身经验的拓展

6.3.1 开源

第7章 验收测试

7.2 验收测试

7.2.1 完成的定义

7.2.3 自动化

7.2.5 验收测试什么时候写,由谁来写

7.2.6 开发人员的角色

7.2.7 测试的协商与被动推进

7.2.8 验收测试和单元测试

7.2.10

第8章 测试策略

8.2 自动化测试金字塔

image

第9章 时间管理

9.1 会议

9.1.4 立会

9.1.7 争论/反对

9.3 时间拆分和番茄工作法

第10章 预估

10.1.1 承诺

承诺是必须做到的。专业开发人员不随便承诺,除非他们确切知道可以完成。

10.2 PERT

PERT(计划评审技术)的一部分内容就是对预估的计算方法。这种技术包含了一个非常简单有效的办法,把预估变成概率分布。你可以根据3个数字预计某项任务。这就是三元分析法:

μ = (O+4N+P)/6

μ是任务的期望完成时间。

σ = (P-O)/6

σ是这个任务概率分布的标准差,用来衡量不确定性。如果这个数字很大,就表示非常不确认。

大任务的μ 可由各小任务μ 加和得到。大任务的σ等于各小任务σ的平方和再开方。

第11章 压力

11.1 避免压力

11.3 结论

第12章 协作

12.1 程序员与人

12.1.1 程序员与雇主

12.1.2 程序员与程序员

12.3 结论

第13章 团队与项目

13.1.1 有凝聚的团队

13.2 结论

第14章 辅导、学徒期与技艺

上一篇 下一篇

猜你喜欢

热点阅读