OC学习—命名规范

大驼峰与小驼峰

  • 大驼峰
  1. 每个单词的首字母都大写
  2. 首个单词也大写
  3. 不使用下划线或其他分隔符
  4. 适用于类名、结构体名、协议名
  5. 文件名
objectivec 复制代码
UserManager
NetworkRequestHandler
MYCustomButton
  • 小驼峰
  1. 每个单词的首字母都大写
  2. 首个单词的首字母小写
  3. 不使用下划线或其他分隔符
  4. 适用于方法名、变量名、属性名、参数名
objective-c 复制代码
userName
loadDataFromURL
isLoggedIn
completionHandler

类与协议的命名

  • 使用大驼峰法
  • 加前缀防止冲突:如NS、UI、AF、MY等

示例:

objectivec 复制代码
@interface MYNetWorkManager : NSObject
@end
  
//

@protocal MYDownloadDelegate <NSObject>
@end

方法命名

  • 使用小驼峰法命名
  • 方法应该表达动作或者行为
  • 参数名要体现含义、不要简写
  • 使用语义清晰、自然语言风格的多段方法名

示例:

objectivec 复制代码
- (void)loadDataFromURL:(NSURL *)url withCompletion:(void (^)(NSData *data))completion;
- (BOOL)saveUser:(User *)user error:(NSError **)error;

变量与属性命名

  • 使用小驼峰法命名
  • 属性不要以下划线开头
  • 实例变量通常加_前缀(在实现文件中)

示例:

objectivec 复制代码
@property (nonatomic, strong) NSString *userName;
@property (nonatomic, assign) NSInteger retryCount;
objectivec 复制代码
@implementation MYClass {
    NSString *_internalState;
}

常量命名

  • 使用 k 前缀(旧风格)或使用全局命名空间前缀(现代风格)
  • 全部大写,单词间用下划线分隔(用于 #define
  • 对象常量建议使用 NSString *const
objectivec 复制代码
static NSString *const MYDefaultUserName = @"Guest";
#define kMaxRetryCount 3

特殊

  • 枚举值:使用前缀加驼峰
  • 文件名:与类名一致
  • Category:与Catogory名一致
  • Blocks命名:以Block结尾
相关推荐
AOwhisky33 分钟前
Python 学习笔记(第十三期)——运维自动化(下·前篇):远程命令执行——paramiko基础篇
运维·python·学习·云原生·自动化·运维开发·paramiko
DeMinds33 分钟前
内容没有丢,我为什么总在重新整理?|DeMinds 如何让工作接着继续
ios·github·markdown
前端世界44 分钟前
MySQL 基础入门(学习第4天)——约束与 DML 操作详解
数据库·学习·mysql
apd_csdn44 分钟前
清华邮箱苹果邮件app设置(全)
ios·thu
dear_bi_MyOnly1 小时前
【SpringBoot配置文件】
java·spring boot·后端·学习·spring·java-ee·学习方法
AOwhisky1 小时前
Python 学习笔记(第十四期)——运维自动化(下·中篇):远程文件传输——paramiko进阶篇
运维·python·学习·云原生·自动化·文件传输·paramiko
math_hongfan1 小时前
鸿蒙Flutter setState机制深入理解
学习·flutter·华为·harmonyos·鸿蒙
其实防守也摸鱼1 小时前
补天SRC新手入门指南:从0到1的漏洞挖掘之路
网络·python·学习·安全·web安全·数据挖掘·挖洞
MDM.Plus2 小时前
从“遥控”到“自治”:苹果 MDM 技术的代际跨越与业务重构
ios·智能手机·重构·mdm
黑化旺仔2 小时前
iOS - 天气预报仿写总结
ios