Ser*_*nce 0 iphone cocoa-touch design-patterns objective-c ios
我正在编写一个iPhone应用程序,并按照此问题中的建议将常量排列在Constants.h和Constants.m文件中:Objective-C中的常量.
我的问题是,如果我在Constants.h中定义一个typedef枚举,并想在我的一个.h文件中声明该typedef枚举的属性,那么实现它的正确方法是什么?我是否需要将constdef枚举移出Constants.h和类.h文件?似乎打败了拥有全局常量文件的目的......
我对这些范围问题的回答是将声明限制在所需的最小范围内.
如果您只需要实现中的枚举,则将声明放在.m中.如果只需要接口使用枚举,那么将声明放在接口的.h中.如果多个独立接口需要枚举,那么我会把它放在一个全局的.h文件中.
我有两个理由这样做.1)限制范围减少了合并.2)限制范围减少了由更改影响的文件数.
当所有typedef都在一个文件中时,任何时候两个开发人员更新任何类型,然后其中一个必须在提交时合并.我已经处理了因生活中不良合并而产生的足够错误.我尽量避免它们.
当您的程序中的每个文件都包含一个文件时,对该文件的任何更改都将影响程序中的每个文件.我发布了生产代码,其中包含没有任何提交的模块中的错误.对全局包含的更改导致了一个无人预期且没有人测试过的问题,因为它看起来像模块未受影响.