【笔记】高效程序员的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章尾声:走向敏捷

第二遍书评

暂无


学以致用

暂无


你可能感兴趣的:(原创,笔记和书评,项目管理(PMP,PRINCE2))