《高效程序员的45个习惯》

推荐序

推荐序一

这本书为你打开了了解和学习敏捷方法的一扇大门,并指出了继续前行的道路。
你会很优先的读完这边形同小说的编程类书籍,然后说:“原来敏捷就是这么一回事啊!”

推荐序二

流水不腐,户枢不蠹 (du 4)

“流水不腐,户枢不蠹”,亦作“流水不腐,户枢不蝼”。意指常流的水不发臭,常转的门轴不遭虫蛀。户枢:门轴;蠹:这里是蛀蚀的意思。比喻经常运动,生命力才能持久,才有旺盛的活力。 这个成语出自《吕氏春秋·尽数》:“流水不腐,户枢不蠹,动也。”“流水不腐,户枢不蠹”也是说它们在不停的运动中抵抗了微生物或其他生物的侵蚀。(毛泽东《论联合政府》)

厨房经常去洗,不要等到积累上很多油脂在处理。

书中推荐了李 笑 来 老师的《把时间当做朋友》。

第1章 敏捷——高效软件开发之道

不管路走了多远,错了就要重新返回
开发需要持续不断,切勿时续时断
持续注入能量

第2章 态度决定一切

选定了要走的路,就是选定了它通往的目的地
  1. 做事
    指责不能修复bug
    
  2. 欲速则不达
    出现了一个bug,并且时间紧迫 快速修复确实可以解决它,但是接下来就可以证明谁是优秀的程序员,谁是拙劣的代码工人
    防微杜渐
    不要孤立的编码
    使用单元测试
  3. 对事不对人
    首先还是要语言得当
    消极扼杀创新
    你不需要很出色才能起步,但是你必须起步才能很出色
    消极扼杀创新
    给猫系上铃铛,老鼠的方法,但是谁去做这件事情呢?
    美国南北战争海军上将说过:“别管他妈的鱼类,全速前进!”

  4. 排除万难,奋勇前进

    第3章 学无止境

    即使你已经在正确的轨道上,但如果只是停止不前,也仍然会被淘汰出局。

  5. 跟踪变化
    如何跟上技术变化的步伐呢?
    1)迭代和增量式学习
    2)了解最新行情
    3)参加本地的用户组活动
    4)参加研讨会议
    5)如饥似渴地阅读
  6. 对团队投资
    每个人都比你厉害吗?嗯,那太好了!
    享有盛名的爵士吉他 pat methany 说过:“总是要成为你所在那个乐队最差的乐手。如果你是乐队中最好的乐手,那你就可以考虑重新选择乐队了。”
    “午餐会议” 是团队中分享知识非常好用的方式。

  7. 懂得丢弃
    学习新的东西,丢弃旧的东西。在学习一门新技术的时候,要丢弃会阻止你前进的习惯。毕竟,汽车要比马车车厢强的多。

  8. 打破砂锅问到底
    不停得问为什么,不能只满足于别人告诉你的表面现象,要不停地提出问题,知道你明白问题的根源。

  9. 把握开发节奏
    解决任务,在事情变得一团糟之前,保持事件之间稳定重复的间隔,更容易解决常见的重复任务。

    第4章 交付用户想要的软件

    没有任何计划能在遇到变化后还能继续执行。

  10. 让客户做决定
    在设计方面,做决定的时候必须要有开发者参与,可是在一个项目中,他们不应该做所有决定,特别是业务方面的决定。
  11. 让设计指导而不是操纵开发
    不要着急开始写代码,画关键的工作图UML,因为要使用类及其交互关系来描绘系统是如何组织的。
  12. 合理地使用技术
    盲目地为项目选择技术框架,就好比是为了少交税而生孩子。
    不要开发你能下载到的东西

  13. 保持可以发布
    太过自信的墨西哥总统安东尼奥·洛佩斯·德·圣安那率领部队穿越德克萨斯州西部,追赶败退的萨姆·休斯顿将军。没有安排哨兵,他们溃不成军,输掉了那场决定性的战争。从此永远改变了德克萨斯州的历史。
    保持你的项目时刻可以发布,保证你的系统随时可以编译,运行,测试,并立即部署。
    行军作战,也是需要做到编队,应对突发的敌人的攻击。

  14. 提早集成,频繁集成

  15. 提早实现自动化部署

  16. 使用演示获得频繁反馈

  17. 使用短迭代,增量发布

  18. 固定的价格就意味着背叛承诺

第5章 敏捷反馈

  1. 守护天使
  2. 先用它再实现它
  3. 不同环境,就有不同问题
  4. 自动验收测试
  5. 度量真实的进度
  6. 倾听用户的声音

第6章 敏捷编码

  1. 代码要清晰地表达意图
  2. 用代码沟通
  3. 动态评估取舍
  4. 增量式编程
  5. 保持简单
  6. 编写内聚的代码
  7. 告知,不要询问
  8. 根据契约进行替换

第7章 敏捷调试

  1. 记录问题解决日志
  2. 警告就是错误
  3. 对问题各个击破
  4. 报告所有的异常
  5. 提供有用的错误信息

第8章 敏捷协作

  1. 定期安排会面时间
  2. 架构师必须写代码
  3. 实行代码集体所有制
  4. 成为指导者
  5. 允许大家自己想办法
  6. 准备好后再共享代码
  7. 做代码复查
  8. 及时通报进展与问题

第9章 尾声:走向敏捷

  1. 只要一个新的习惯
  2. 拯救濒临失败的项目
  3. 引入敏捷:管理者指南
  4. 引入敏捷:程序员指南
  5. 结束了吗

参考

《高效程序员的45个习惯》

欢迎大家关注:huazi's微信公众号