【笔记】高效程序员的45个习惯:敏捷开发修炼之道

第一遍书评

        单独看这本书,45个习惯简洁明了,有很多可以借鉴,尽管书名中有敏捷,但侧重点仍然在高效上,作为程序员,高效并不是单纯指快,而是综合评价的概念,自己有一些习惯已经养成,可将这45个习惯作为基准,逐项对照优化自己。
       这本书引用了一些其他书籍,恰好是自己看过的,所以感触较深。如《程序员修炼三部曲》这三部曲是包含三个方面:版本控制、单元测试、自动构建。具体包含6本书:
程序员修炼三部曲.版本控制之道 使用cvs
程序员修炼三部曲.版本控制之道 使用git
程序员修炼三部曲.版本控制之道 使用Subversion 第2版
程序员修炼三部曲.单元测试之道 C#版 使用NUnit
程序员修炼三部曲.单元测试之道 Java版 使用JUnit
程序员修炼三部曲.项目自动化之道
        关于版本控制,我看的是版本控制之道 使用Subversion 第2版,由于工作中就是用SVN进行源代码版本管理,所以对其理解比较深,自己根据这边书介绍的方法和自己的需求,写了一个源代码管理的自动化工具,较大的提高了工作效率,目前工具已经推广到小组范围中,同时工具还在进一步优化,等小范围使用一段时间后再推荐给项目组。
        关于单元测试,这个一直是自己非常希望引入到工作中的,自己负责的是服务器中的底层通讯协议模块,每次代码修改完成并通过验证后,由于没有单元测试,需要消耗自己大量的时间进行原有业务流程的验证,由于是人为验证,只能验证常见的流程。自己负责的模块是用C和C++来编码的,因此学习了CUnit和CPPUnit这两个单元测试工具,当想通过这两个工具去对模块进行测试时,发现编译都通不过,因为模块代码量较大,耦合性太强,无法分为单独模块进行测试。所以当前是需要对代码进行重构,这项工作量较大,初期也会引起系统不稳定,因此可以小范围的逐步优化代码。
        关于自动化:编码完成后,进行自动化编译,然后进行单元测试,再自动提交版本控制系统,接着自动版本构建(持续集成),然后进行集成测试,最后进行系统测试。目前除了编码工作无法自动完成,需要程序员人工完成(如果编码也能自动完成就好了),其他各项工作均已实现不同程度的自动化,自动化程度还可以继续加深。

摘要

【1】第1章介绍敏捷相关基本概念,如何使用这本书
【1.1】敏捷工具箱
WIki:参阅《Wiki之道》
版本控制:参阅《参阅版本控制之道--使用SubVersion》
单月测试:参阅《单元测试之道Java版》、《单元测试之道C#版》、《Junit Recipes中文版》
《Ship it!A Practical Guide to Successful Software Projects》介绍怎样将这些基本的开发环境实践方法结合到一起,入门工具箱StarterKIt系列图书
【2】第2章态度决定一切:介绍好的工作态度及习惯
1做事:先解决问题再追责
2欲速则不达:不要片面,要全局的修改代码
3对事不对人
4排除万难,奋勇前进:有勇气去担当并提供解决途径
【3】第3章学无止境
5跟踪变化:尽管技术发展很快,但一般是增量变化,因此建议
迭代和增量式学习
了解最新行情
参加本地的用户组活动
参加研讨会议
如饥似渴地阅读
6对团队投资:团队建设,午餐会、科室培训、学习小组等形式
7懂得丢弃:使用新技术高效解决旧技术
8打破砂锅问到底:问为什么,不满足表象原因--《第五项修炼》
9把握开发节奏:做规划,避免随机
【4】第4章交付用户想要的软件
10让客户做决定:获取业务需求
11让设计指导而不是操纵开发:
瀑布式开发方法遵循一系列有序的开发步骤:需求、详细设计、编码实现、集成、测试。
12合理地使用技术
13保持可以发布:持续集成
14提早集成,频繁集成
15提早实现自动化部署
16使用演示获得频繁反馈
17使用段迭代,增量发布
18固定的价格就意味着背叛
【5】第5章敏捷反馈
19守护天使:自动化单元测试
20先用它再实现它:测试驱动开发TDD
21不同环境,就有不同问题
22自动验收测试:FIT集成测试框架,其使用HTML表格定义测试用例
23度量真实的进度:待办事项backlog
24倾听用户的声音
【6】第6章敏捷编码
25代码要清晰的表达意图
26用代码沟通
27动态评估取舍
28增量式编程
29保持简单
30编写内聚的代码--《敏捷软件开发:原则、模式与实践》
31告知,不要询问--命令与查询相分离模式
32根据契约进行替换
【7】第7章敏捷调试
33记录问题解决日志--每日日志daylog:问题日期、简述、解决方案详述、引用文章或网址、代码片段或截图等
34警告就是错误--不放过编译Warnning
35对问题各个击破
36报告所有异常
37提供有用的错误信息
【8】第8章敏捷协作:团队协作与管理
38定期安排会面时间:站立会议(上班后30分钟到60分钟):1昨天收获?2今天计划?面临哪些障碍?(没人2分钟)
39架构师必须写代码:其设计方案可获得反馈
40实行代码集体所有制:模块轮换提高效率、降低风险
41成为指导者:知识和技能共享
42允许大家自己想办法
43准备好后再共享代码:不提交未完成的代码
44做代码复查
45及时通报进展与问题:告知管理层进展以及瓶颈
【9】第9章尾声:走向敏捷

第二遍书评

暂无


学以致用

暂无


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值