读书笔记之程序员修炼之道(The Pragmatic Programmer)

《程序员修炼之道》由一系列的独立的部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术。利用许多富有娱乐性的奇闻轶事、有思想性的例子以及有趣的类比,全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。无论你是初学者,是有经验的程序员,还是软件项目经理,本书都适合你阅读。 –豆瓣

注重实效的思想基础

  • 破窗效应

  • 经营自己的知识资产(定期、多元化、管理分享、低买高卖、重新评估和平衡)

  • 目标设定

    • 每年至少学习一种新语言
    • 每季度阅读一本技术书籍
    • 也要阅读非技术书籍
    • 上课
    • 参加本地用户组织
    • 试验不同的编程环境
    • 跟上潮流
    • 上网
  • 如何交流

注重实效的途径

  • DRY-Don’t Repeat Yourself

  • 正交性(消除无关事物之间的影响)

  • 可撤销性(不存在最终决策)-代码“摇滚”

  • 用曳光弹找到目标-直观、快速、可重复

    • 用户及早看到能工作的东西(及时反馈)
    • 开发者构建了一个他们能在其中工作的结构(便于团队开发)
    • 有一个集成平台(小批量集成)
    • 投资方可以看到有可演示的东西
    • 工作进展会更加清晰明朗
  • 原型与便签

有效的工具

  • 纯文本的威力

  • Shell

    • GUI所见及所得与所见即全部所得
  • 用好一种编辑器

  • 源码控制

  • 调试

    • 不要假定,要证明
  • 代码生成器

    • Write Code That Writes Code

编码习惯

  • 避免靠巧合编程,深思熟虑地去编程
  • 估算算法速率
  • 早重构,常重构(肿瘤)
    • 不要新增功能
    • 确保拥有良好测试
    • 短小、深思熟虑的步骤
  • 易于测试的代码

项目开始之前的注意点

  • 需求之坑
    • 不要搜集需求-挖掘需求
    • 与用户一起工作,像用户一样思考

注重实效的项目

  • 团队
  • 自动化无处不在
  • 无情的测试(编一点测一点)
  • 温和地超出用户期望