我来自Ruby,有点采用了单一职责原则、封装、松散耦合、小型可测试方法等方法论,所以我的代码往往会频繁地从一个方法跳到另一个方法。这就是我在 Ruby 世界中习惯的工作方式。我认为这是最好的工作方式,主要是针对 BDD,因为一旦您开始拥有执行多项操作的“大型”方法,测试就会变得非常困难。
我想知道就性能的显着差异而言,这种方法是否有任何缺点?
最佳答案
是的,总会有一些性能影响,除非你有一个内联东西的编译器,但如果你做动态方法查找(比如 Ruby 和 Obj-C),你不能内联,所以会有一些影响。但是,这实际上取决于语言和调用约定。如果你在 Objective-C 中有一个调用,你知道开销将是一次使用 C 调用约定的开销(调用 objc_msg_send
),然后是方法查找,然后是某种跳转(很可能也是 C 调用约定,但可以是任何东西)。不过,您必须记住,除非您编写的是 C 语言和汇编语言,否则几乎看不出任何区别。
关于objective-c - 编写许多小方法对 Objective-C 有性能影响吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12031249/