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。而在这些所有的之中,最需要的是找到自己。

说得很好,受教了

说得很好,受教了

发表新评论

此内容将保密,不会被其他人看见。
  • 允许 HTML标签: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <h3> <pre> <blockquote>
  • 行和段被自动切分。
  • You can use BBCode tags in the text, URLs will be automatically converted to links
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
更多格式化选项信息