《高效程序员的45个习惯》读书笔记

《高效程序员的45个习惯》这本书的副标题是敏捷开发修炼之道,这是一本讲敏捷的书,如果你之前未接触过敏捷,从这本书,可以了解到敏捷的核心观点。

这里面主要讲了三方面的内容,观念,沟通,以及编码。

 

观念

我们首先从观念来看,提观念当然少不了敏捷宣言:

个体和交互胜过过程和工具;

可工作的软件胜过面面俱到的文档;

客户的协作胜过合同谈判。

响应变化胜过遵循计划;

 

敏捷开发改变了整个开发流程;

传统的瀑布模型是重设计,资深的架构设计师将设计事无巨细的做出来,然后让小兵来开发;在面对需求变更时,通常很无力;

敏捷反对通过设计来操纵开发,将重设计改为设计指导;

 

沟通

沟通是敏捷中最核心的部分,其中涉及到团队沟通、与客户的沟通。

团队的沟通

要努力成为团队中的一个指导者,分享你的知识。在分享知识前,你有一个准备的过程,你需要把你知道的知识有条理讲给人家听,让他人听懂,你这个准备和讲解的过程对你来一种提升,之前一知半解的问题,在讲给他人听的过程,会理解透彻。

知识分享的过程不仅仅是通过讲解的方式,文字分享也是重要的一面;这里就提到了wiki的重要性,把你的知识纳入wiki,收益的就不仅仅是目前的团队成员,更有未来的团队,这样你的知识得到了传承,呵,多么了不起;

wiki写多了,也能够让你的工作变得轻松,比如同事向你请教问题时,你可以给他一个链接“看wiki去吧,这里面很详细”,那感觉,很棒不是?

关于wiki的好处,之前有过详细讨论, 传送门:公司内部wiki,你建立了么?

 

为了达到有效沟通,敏捷提出了两个有趣的会议:

第一个是每日站会,这是敏捷中必不可少的一个会议,就是每天15分钟出来,进行讨论,回答3个问题:

你这一天做了什么?

明天打算做什么?

遇到了什么问题?

这个站会上不是解决问题的场所,你只是提出你所遇到的问题,解决问题放在会后进行。

第二个是午餐会议,就是大伙很随意的吃饭聊天,可由特定的一个人,分享一些书籍。当然可以是非技术领域;当然这也是一个分享的过程,能够提升团队的凝聚力。

 

除了我们语言交流外,代码也是用来沟通的,要记住代码阅读的次数要远大于大于代码输写的字数。敏捷强调代码集体所有制,就是说,代码是大家共同所有,而不是某一个人精通某一块。

实现代码集体所有制的方法,是采用团队任务轮换;不再是某一个人,一直在做某一个特定的小领域;这样,能保证大家对整个项目都有所了解。

考虑到你写的代码就是给别人看的,在你会更加仔细的编写并合理的添加注释;

 

和客户的沟通

与客户沟通时要保证沟通工具的简洁易懂,比如我们日常使用的word和xls表格方式,不要使用过于专业的工具或术语;

当业务上的模糊的地方时,需要由客户来做决定,倾听客户的声音。不用担心客户的决定导致项目需求的变更,敏捷就是来适应变更的;

争取尽早的见到最终的客户,如果有条件,在每次迭代完成之后,给用户演示一下我们的模型,这样比文字上的沟通更为直观,也更容易发现客户真正的需求;

当客户发现这东西和他想要的不一样时,要快速的响应客户需求,尽快地把它放到下一个迭代中来。

 

编码

讲编码最主要是第六章所讲的内容,其中谈到的规范和技巧不仅仅是适用敏捷。

比如要合理的使用技术,不能过份迷恋模式。如果为了模式而模式,反倒把系统搞复杂了,就得不偿失了。

这里提倡持续集成,频繁的集成。我们当天编写完代码,提交到版本库上;系统能将这块代码集成到我们的整个系统中,然后跑单元测试用例和集成用例,完成之后给出详细的报告;

可以看出,实现持续集成的前提是有一个自动化部署的环境,能让我们在提交代码后实现自动化部署集成,轻松增量式编程。

本书思维导图读书笔记:

高效程序员的45个习惯

下载:(高效程序员的45个习惯.mmap)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章 敏捷——高效软件开发之道 第2章 态度决定一切 1. 做事 2. 欲速则不达 3. 对事不对人 4. 排除万难,奋勇前进 第3章 学无止境 5. 跟踪变化 6. 对团队投资 7. 懂得丢弃 8. 打破砂锅问到底 9. 把握开发节奏 第4章 交付用户想要的软件 10. 让客户做决定 11. 让设计指导而不是操纵开发 12. 合理地使用技术 13. 保持可以发布 14. 提早集成,频繁集成 15. 提早实现自动化部署 16. 使用演示获得频繁反馈 17. 使用短迭代,增量发布 18. 固定的价格就意味着背叛承诺 第5章 敏捷反馈 19. 守护天使 20. 先用它再实现它 21. 不同环境,就有不同问题 22. 自动验收测试 23. 度量真实的进度 24. 倾听用户的声音 第6章 敏捷编码 25. 代码要清晰地表达意图 26. 用代码沟通 27. 动态评估取舍 28. 增量式编程 29. 保持简单 30. 编写内聚的代码 31. 告知,不要询问 32. 根据契约进行替换 第7章 敏捷调试 33. 记录问题解决日志 34. 警告就是错误 35. 对问题各个击破 36. 报告所有的异常 37. 提供有用的错误信息 第8章 敏捷协作 38. 定期安排会面时间 39. 架构师必须写代码 40. 实行代码集体所有制 41. 成为指导者 42. 允许大家自己想办法 43. 准备好后再共享代码 44. 做代码复查 45. 及时通报进展与问题 第9章 尾声:走向敏捷 9.1 只要一个新的习惯 9.2 拯救濒临失败的项目 9.3 引入敏捷:管理者指南 9.4 引入敏捷:程序员指南 9.5 结束了吗 附录A 资源 索引
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值