【发布时间】:2010-10-28 21:57:21
【问题描述】:
我已经用 Objective-C 在 iPhone 上开发几个月了,我一直在应用在用 Java 开发应用程序时学到和改进的最佳实践。其中包括:设计具有单一职责的类,在适当的情况下应用设计模式,以及编写只做一件事的short methods。对我来说,这些做法从 clean-code 的角度来看都是有益的,而且很大程度上与领域无关。
我对结果非常满意。然而,一些 iPhone 开发人员独立地建议我不要这样做,因为他们说我编写了太多的类和太多的方法。我曾多次收到警告:
- 堆栈会爆炸
- 太多的类会减慢 iPhone 的速度(即被用户察觉)
- 嵌套方法调用会损害性能(即用户可察觉)
在实践中,我没有遇到过这些问题。从表面上看iPhone performance metrics,在我看来,实现通用模式和短方法所需的额外方法调用和对象生命周期开销不太可能造成任何用户可察觉的延迟。但是,其他 iPhone 开发者的建议让我有点害怕。
我想继续学习和完善过去对我很有帮助的与领域无关的编程实践,但是在 iPhone 上进行开发时,我不希望走上一条以痛苦告终的路线!
所以关于这个平台——我是否应该放弃一些常见的最佳实践并更加注意优化方法调用和对象生命周期开销?还是我应该继续关注Knuth's 的建议:
过早的优化是 所有邪恶(或至少大部分)在 编程
【问题讨论】:
-
我想知道您是否可以展示一些代码示例。我想看看您如何在 Cocoa Touch 世界中使用您的 Java 经验。您在 github 上是否有任何公共存储库或与您的 ObjC 源类似的东西?
标签: iphone performance optimization coding-style