释放双眼,带上耳机,听听看~!
- 减少缩写。除非是通用的专业术语,如URL。
- 过程化。动作发生之前用Will,发生之后用Did,询问是否发生用Should。
- 类型(类、枚举、结构)命名前加相关模块前缀,如UIView。
- 常量命名要加相关类型名前缀,如CGRectZero。
- 函数命名要加相关类型名前缀,如CGRectMake。
- 枚举类型命名要加相关类名前缀,并且枚举值命名要加枚举类型前缀。如typedef NS_ENUM(NSInteger, UIViewAnimationTransition){UIViewAnimationTransitionNone…}
- 方法命名时,每个参数前面要加参数的名称提示。
- 对象命名,类型放在后面。如confirmButton。
- 方法主要分为“要什么” 和 “做什么”。
- “要什么”方法要有返回值,没有动词开头。如 -(XXItem *)itemNamed:(NSString*)name;
- “做什么”方法没有返回值,用动词开头。如 -(void)findItemWithNamed:(NSString *)name;
- get开头的应该是一个“做什么”的方法,所以不应有返回值。
- 可知性。回调时被调用者要知道其调用者。可以在回调方法中第一个参数中加上调用者。如 -(BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
- 全局常量不要使用宏定义。因为宏定义可能被重定义,而且在不同文件中可能导致宏定义不可用。全局常量使用const来进行定义。