《高效程序员的45个习惯》
C1 敏捷
- 不管路走了多远,错了就要重新返回。
- 敏捷是一种以人为本、团队合作、快速响应变化和可工作的软件作为宗旨的方法。
- 敏捷工具箱:
- Wiki 动态地新增和组织,促使达成共识
- 版本控制 CVS
- 单元测试
- 自动构建 -先难后易,首先解决困难的问题,而把简单的留在后面。
C2 态度决定一切
- 专业的态度应该着眼于项目和团队的积极结果,关注个人和团队的成长,围绕最后的成功开展工作。
- 世界上最糟糕的工作就是和一群爱搬弄是非的人共事。
- 要有勇气提出建议;不要怕犯错误,如果一点错误都不犯,反倒说明不够努力
C3 学无止境
- 即使你已经在正确的轨道上,但如果只是停止不前,也仍会淘汰出局。
- 唯有变化是永恒的
- 迭代和增量式的学习。每天计划用一段时间来学习新技术,它不需要很长的时间,但需要经常进行。
- 当你听到一些不熟悉的术语或者短语的时候,简要地把它记录下来,然后在计划的时间中去深入研究它。
- 如果你是团队中最好的队员,就没有动力继续提高自己。如果周围的人都比你厉害,你就会有很强的动力去追赶他们。
- 如果一些团队成员因吃午饭而缺席,用美食引诱他们。
C4 迭代和增量开发
C5 敏捷反馈
- 一步行动,胜过千万专家的意见。
- Coding feedback (代码是最好的反馈,所以写UT吧)
C6 敏捷编码
- PIE原则:代码要清晰地表达意图
C7 敏捷调试
- 记录问题解决日志,Don’t get burned twice.
- 记录问题的时间不能超过在解决问题上花费的时间。
- 找到以前的解决办法非常关键,所以,使用足够多的关键字。
- 警告就是错误
C8 敏捷协作
- 团队办公
- 站会三问:昨天有什么收获?今天计划做什么工作?遇到什么问题?
- 通常,站会是在每个工作日的早些时候,且大家都在上班时举行。不要把它安排为上班后的第一件。
- 站会的几点好处(不限于此):让大家尽快投入到一天的工作中来;便于管理者了解进度动态规划人力资源;促进代码和思路共享,提升开发速度;看到别人报告的进度都在前进,会对彼此形成激励。
- Knowledge grows when given.
C9 走向敏捷
全书完
个人总结
大部分内容都看过,团队中也在用着敏捷的开发方法,但是相比于这种工作效率和方法的学习,我更想追求专业技能的提升。Anyway, 毕竟看完它只花了两个半天。