昨晚我发了条微博,内容如下:
编程本质上是用脑的,当程序复杂的时候人脑会不够用,于是bug百出,程序员心力憔悴。好在出现了各种工具和方法论来帮助降低人脑的负荷,让人能够专注于有限的地方。但是,很多人迷信工具和方法论以致几乎忽略了人脑的能力,就好像只要用对了方法和工具,放只猴子也能把软件写出来,这也应该反思。
这是我最近看到一些关于敏捷方法的争论有感而发,就以测试驱动开发(TDD)为例,有那么两派人,一派是死忠,认为不用TDD写不出好的代码,不写测试就不能写主代码;另一派则相反,觉得TDD是很扯淡的东西,是咨询公司忽悠人的工具。我则认为两派都走了极端,在我看来,包括TDD在内的敏捷方法论都旨在帮助降低程序员的脑负荷,因此恰当的使用能帮助我们专注于重要的事情,但认为TDD是万能的,而忽视了人,那也大错特错了,不管多么神奇的方法,多么完善的过程,我们都不能否认人脑思考是...... Read the full post

Just finished the book “Building and Testing with Gradle” in this vacation, and here is my review.
First of all this book has a great Foreword by Ken Sipe, the CTO of Gradleware. I totally agree with him on
What I have discovered over the years as a software engineer is that in order to solve a problem best, I have to understand the model. The reason make wasn’t a great build tool for Java is that it didn’t have a way to express the model well. Ant gave us platform independence and a better vocabulary, but a weak model. Maven provided a stronger model, which is why so many people prefer it over Ant. The challenge for Maven is that it provided a “the one model to rule them all”. You’re able to express your build needs within that model and only that model.
Gradle fills the gap. Gradle provides a way of modeling a build system using a DSL with convention over configuration, yet allowing an enterprise to define its own model. It goes deeper than this, as explained in this introductory book by Matthew and Tim, but modeling by convention is truly a game changer for enterprise software development.
To simplify, Make has no build model, Ant has weak mod...... Read the full post
前阵子有幸收到了华章社何艳编辑送来的《团队之美》一书,花了两周陆陆续续读完了大部分,总体感觉是本好书,因此在此分享下个人的体会。
这是本比较厚的书,大概450页,共31章,每章作者都讲述了自己的团队经历,团队如何一起工作,如何成功或失败,遇到什么障碍,这些作者有什么体会和感悟,等等。O’Reilly的这一套**之美(Beautiful **)图书都是这样一个套路,挑个主题,然后拉一堆牛人来讲,一人讲一章。因此你能读到各种不同的观点,十分有趣。基本上O’Reilly就是图书质量的保证,因此我对本书的原著还是比较放心的。
粗粗浏览下31位作者,就发现很多名字很熟悉,然后在Amazon搜了一下,发现了一个不大不小的宝藏:
Pomodoro这个词来源于意大利语,意思是番茄。你可以认为它是水果,或者是蔬菜,但你可能想不到他会和软件行业的敏捷开发联系起来。这个世界本来就充满了各种趣味,软件开发也并非一定要是非常严肃的工作。本文我会介绍一本名为Pomodoro Technique Illustrated的书,它能教你如何使用一个番茄定时器高效地管理时间。
你的工作效率有多高?
在我介绍Pomodoro这一技术及相关的书籍之前,不妨先问你几个问题:
- 你有能力在同一时间段内游刃有余地同时处理多个问题么?
- 你能否保持25分钟的完全专注?除了当前的工作不考虑其它,不受内部或者外部的干扰?
- 你一天的保持专注的工作时间有多少?真的有8个小时么?
什么是番茄技巧?
如果你仔细考虑了上面的几...... Read the full post