注重实效的哲学

在解决问题的时候,我们应该越出直接的问题去思考,总是设法把问题放在更大的语境中,总是设法注意更大的图景,这样我们才能做出明智的妥协和有见识的决策。

提供各种选择,不要找蹩脚的借口。在想要找借口的时候,想想服务行业如果对你说借口你会怎么想。

不要容忍低劣的设计,错误决定,或是槽糕的代码。

定期为你的知识资产投资:

  • 每年至少学一门新语言
  • 每季度阅读一本技术书籍
  • 也要阅读非技术书籍
  • 参加本地用户组织
  • 体验不同的开发环境
  • 了解潮流资讯

批判的思考:批判的分析你读到的和听到的

在交流的时候要知道你想要说什么,规划想要说的东西,写出大纲,然后问自己,是否讲清楚了内容,提炼它,直到清楚为止。

注重实效的途径

系统中的每一项知识都必须具有单一,无歧义、权威的表示。

DRY 原则,don’t repeat yourself。

DRY 是注重实效的程序员的工具箱里最重要的工具之一。

系统之间消除无关事物之间的影响。

我们想要设计自足的组件:独立并且高内聚,如果组件是相互隔离的,就可以改变其中一个,而不用担心其余组件。

编写正交性的代码:

  • 让代码保持解耦
  • 避免使用全局数据
  • 避免编写相似的函数

可撤销性:如果某个想法是你唯一的想法,那么没有比这个更危险的事情

例如,当项目开始使用的是 A 数据库,当项目想要切换到 B 数据库的时候,这个时候如果需要大量改动代码就说明设计不是可撤销的,我们可以把数据库的概念抽象出来,抽象到只是把持久层作为服务的程度。

不存在最终决策

进行迭代开发,迭代开发有许多优点:

  • 用户可以尽早看到东西
  • 开发者构建了一个能在其中工作的结构
  • 你有了一个集成平台
  • 你有了可以演示的东西
  • 你将更能感觉到工作的进展

估算,以免意外发生。

【参考资料】

  1. 程序员修炼之道

—EOF—