这本书实际上是在讲敏捷开发,包括个人开发的敏捷和团队的敏捷。
敢于表达意见(Bug要尽早指出来)
防微杜渐(不要让Bug活着进仓库)
共享(把自己的所学总结给别人看)
把目标放在解决问题上(谁做错的不重要,他一定会认识到自己的错误,实在不改正,那就只能请出团队)
勇于修正自己的错误(别犯同一个错误)
要做最差的那个(反过来说,如果团队中没有比你厉害的人,那你能从他人那里学到的东西就少了)
迭代和增量式学习(尽量处理自己的习惯)
参加研讨会议(有机会肯定要参加)
必须评估新技术的优劣
考虑变化和扩展性,判断哪些是自己决定不了的,应该让企业主决定
CRC(类-职责-协作)每个类都标示:类名/职责/协作者
技术选型的三个问题
1) 真的能解决你的问题吗?//--原型
2) 会被拴住吗?//--考虑开放技术还是专利技术,开放的话开放到什么程度
3) 维护成本?//--学习难度和使用难度
一些小结
如果发现集成的难度比较大,那一定是集成不够频繁
即使项目还未开始,我们就有了单元测试和、持续集成、给予窗口的安装程序(优秀)
要频繁的获得反馈,如果你的迭代周期是一个季节或者一年,就应把周期缩短到一周或者两周
完成了一些功能和特征之后,去积极获得客户的反馈(增量修改)
维护项目术语表(沟通必须)
迭代开发:在小且重复的周期里,完成各种开发任务:分析、设计、实现、测试和获得反馈
增量:每一轮的开发都是基于前一次的功能,增加为产品增值的新功能。这时,你就可以发布或者演示产品
单元测试是学习工具。在你开始学习新API的时候,他的单元测试是最可靠的文档
使用持续集成工具,当你需要测试多个平台时,只需要为每个平台设置持续集成系统就行了
FIT集成测试框架
面向过程的代码取得信息,然后做出决策。面向对象的代码让别的对象去做事情
重用日志的格式
1) 问题发生日期
2) 问题简述
3) 解决方案详述
4) 引用文章或网址
5) 代码片段