高效方法集大成
2013-02-03
垂涎这本书很久,终于花了一天时间看完了。之所以看这么快,主要有两个月原因:
一是这本书中的内容大多以前都接触过,很多技巧方法甚至都在使用的,所以接触理解起来没什么难度;
二是本书所介绍的最主要的不是工具和方法,而是思想,有助于我们提升工作效率的思想。工具和方法是其次的,只要理解掌握这些思想,并在实际工作中运用到,就能够大大提升我们的工作效率了。
总的来说,这本书还是很优秀的,是一本「集大成」的书籍。里面很多想法和概念通过阅读其他书籍也能接触到,只不过在这本书里面,作者结合自己的亲身经验总结来介绍,更有助于理解这些想法。在我看来,整本书一直都在灌输着三个思想:
一、经典的还是好的
对于计算机工作者,不管是程序员、运维人员还是其他人,操作计算机最快捷的方式并不是现代的图形界面操作系统的,而是字符界面的命令行。这一点我是深有体会的,只不过命令行的入门成本实在有点高,所以每次要使用的时候都会有种畏惧的感觉;不过最重要的还是要习惯。事实上很多很单调很重复性的工作,都有相应的工具可以快速地帮我们完成的,例如可以通过 curl 来测试网络。去年年底下苦功在学习 Linux 下的字符工具,包括 VIM、awk、grep、find 等等,在后来的开发、发布和数据迁移的过程中着实减轻了很大量的负担,得以快速地完成很多重复性的工作。这条路,要坚持走下去。
二、尽量把事情交给计算机来完成
作者有句话我是很赞同的:只要做过一次的事情,以后很大程度要重复做。如果选择手工来完成,在开始的时候可能减少了准备工具的时间,却在未来的时候需要手重复、并且可能引入错误。有时候自己会写一些小工具来快速地完成这些工作;不过我还没充分地做到把事情都交给计算机,因为很多工作在我知识范围内还无法使用计算机来完成(使用 Java 太重,成本高),下一步需要学习几门脚本语言,这可以大大地优化我以后的工作。
三、选择最合适的,而不是追求最好的
我相信世界上没有最好的东西,只有最合适的东西。就像 IDE 虽然继承了很多工具来方便开发的过程,但是在编辑代码的时候,还是使用 VIM 来得高效。要尽可能地了解各种思想、方法和工具,然后在适当的时候选择最合适的来使用。比如说虽然 Java 很强大,但有些时候,使用 Groovy 或者 Jaskell 更加适合。
最后想说的一点是,一味追求高效和过度地高效都是不适合的。一味地追求高效和过度地高效看起来能让我们的工作更快,但却容易让我们减少了思考,有时候更应该慢下来,细细研究事情的本质,才能够得到更多的提升。