是否有未使用的函数我放入一个大的CoolFunctions.h/CoolFunctions.m文件,它包含在我的项目的任何地方?

Tha*_*nks 1 iphone objective-c

我想为所有很酷的函数创建一个大文件,我发现它在某种程度上是可重用和有用的,并将它们全部放入该单个文件中.嗯,一开始我没有很多,所以我猜想制作几个文件并不值得考虑.我会使用pragma标记来直观地分隔它们.

但问题是:那些未使用的方法会不会受到任何影响?我的应用程序会爆炸还是性能较差?或者编译器/链接器是否足够聪明,知道不需要函数A和B,因此不会将其"代码"复制到我生成的应用程序中?

Mar*_*c W 7

这听起来像是一场绝对的建筑和维护噩梦.作为一种惯例,你永远不应该使用一组随机的方法制作一个巨大的blob文件.将方法添加到适当的类或类别.有关blob反模式的信息,请参见此处,这是您在此处所做的.

要直接回答您的问题:不,从未调用过的方法不会影响应用的性能.


Mar*_*eau 6

不,它们不会直接影响您的应用.但请记住,所有未使用的代码都会使您的函数文件更难以阅读和维护.此外,编写您目前尚未实际使用的功能可以很容易地引入在您开始使用这些功能之后不会显而易见的错误,这可能会让您感到非常困惑,因为您已经忘记了它们我写了,并且可能会认为它们是正确的,因为你还没有触及它们这么久.

此外,在像Objective-C这样的面向对象语言中,全局函数实际上应该仅用于特殊的,非常可重用的情况.在大多数情况下,您应该在类中编写方法.我的应用程序中可能有一个或两个全局函数,通常与调试有关,但通常没有别的.

所以不,它不会伤害任何东西,但我现在仍然会避开它,并专注于编写你现在需要的代码.