Be Lazy!
这是Rasmus教给我的最重要的东西。
那年Rasmus来北京参加DevCon,blah blah讲了不少。他那个presentation真够长的(不仅拿着它在全公司世界各地office巡演,我发现他又稍微改了一下就去参加linux conf au了,真是太不厚道了)
整个presentation的精义就在于两个字“Be Lazy”。
- 不要试图解决不存在的问题
许多人,虽然没有意识到,非常热衷于解决根本不存在的问题。比如:真的需要多国语言支持吗?真的需要完全用面向对象OOP吗?他们花了很多精力实现了这些美好的意愿,而是解决了根本不存在的问题!事实上,很多应用只需要用gb2312就足够了;而有些使用纯OOP的程序,除了降低效率以外,我也看不太出有任何意义。 - 一切适可而止
优化,debug,都要适可而止。算法你总可以找到更快更好的,可是需要消耗多少时间呢?机器是便宜的,而作为人,你要应对的是快速开发和不断变化的需求,所以,不要试图把所有的业务逻辑都写在php扩展里,即便那样会更快。关于debug,bugzilla里总有分配给我的new bug。上帝,明天就要launch了,有多少用户会在明天就会上传8M以上的照片而在乎没有一个可爱的错误提示呢? - 不要追求学术的精确和完美
我理解在学校里数据库课上学到的印象深刻的3NF(特别当我大学时教数据库的老师是一个ppmm)。在公司,请能在3分钟之内设计一个能用的MySQL schema,而且当记录到达100万也不会有实质的性能问题就好。总之,除了launch时间,一切都可以妥协。
Be Lazy并不是教唆你不思进取,或是偷工减料。而是作为一个理智的工程师,你应该知道在面对各种问题的时候如何取舍和寻找平衡。在工作中,涉及到很多很多的因子:性能,效率,时间,挑战,乐趣。你会发现,一切都是balance。而在这些所有的之中,最需要的是找到自己。
陈松的Blog | 1125 次阅读

说得很好,受教了
说得很好,受教了