Monday, March 13, 2006

优化代码

今天老外在 Skeype 上找我,说看了上周发给他的代码,写的很漂亮,但是我需要注意一些 J2ME 和传统 Java 不同的地方。前者运行在非常受限的设备上(低内存、慢 CPU),因此性能是第一重要的准则;而后者则更倾向于编写具有高可读性和高维护性的代码,让代码看起来干净清爽,即以前提过的 Drymartine 那种精神洁癖所追求的境界。

由于以前的习惯,我把整个模型透彻得分析了一遍,用非常 OO (面对对象)的观点实现出来,还加入了很多注释,因为我的目标是让看代码的人或者看 API 文档的人能够很方便的明白我的意图。但结果似乎不是 J2ME 开发所想要的,老外说,有时候宁可代码不那么好懂或者干净,但是如果性能优化有必要,也必须要这么做。比如用 & 15 来取代 % 16,用 width >> 1 取代 width / 2,虽然你的写法更清楚,但是取模运算和除法运算在手机上是非常非常缓慢的,要尽量避免这样的操作。

然后老外给了一篇文章 J2ME Game Optimization Secrets,让先去看看。

Google 了一下,发现好像是篇很有名的文章,但是没有相应的中文翻译,被转载倒是很多。我粗看了一下,很有文采,也深入浅出,是篇好文章。于是我就忍不住想要翻译并发布到我的 blog 上。

文章很长,有 5 页,翻译了差不多快 2 页,发布在“月蝎研究”分舵上,以下列出一个快速连接,以后翻译完会陆续加上。感兴趣的朋友可以看下,请多指教。

2 comments:

Anonymous said...

写的什么哦,恶……闷死了!

Anonymous said...

俺们有时不得不把一些代码改为汇编