数据驱动应用开发攻略

本文是一篇综述性质的文章,希望以数据的视角来解构应用开发的各个方面.本文将不会涉及具体技术,但在每部分的结尾综述中会介绍我觉得好用的相关开源技术以方便落地时可以有支撑,同时我也会提供一些比较常规的技术放在附录中以供查阅.

阅读本文前提

本文并不适合所有读者,如何判断你适不适合读呢?认同下面几个论断的人才适合继续阅读,否则读了也不会有任何意义.

  1. 认同数据比程序更有价值,数据往往比程序声明周期长,可能你的程序已经迭代了十几二十个版本了但数据并没有变过.
  2. 认同自动化比人力更有价值,自动化操作比人力操作有更好的可维护性,而且在充分测试的条件下出错几率更低.
  3. 认同对业务场景的充分理解比"拥抱变化"更有价值,对业务场景的充分理解可以让系统有更少的变化,而传统的敏捷开发中强调的拥抱变化更多的是在没办法充分理解业务场景时的妥协.
  4. 认同"外科手术"式的团队优于水桶团队,"外科手术"式的团队永远围绕一个主程开发展开,这样的团队实力很大程度上是主程的水平决定的.