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结尾
相关推荐
码荼7 小时前
学习开发之hashmap
java·python·学习·哈希算法·个人开发·小白学开发·不花钱不花时间crud
武昌库里写JAVA8 小时前
Oracle如何使用序列 Oracle序列使用教程
java·开发语言·spring boot·学习·课程设计
祁思妙想9 小时前
八股学习(三)---MySQL
数据库·学习·mysql
amazinging10 小时前
北京-4年功能测试2年空窗-报培训班学测开-第四十一天
python·学习·appium
Jyywww12110 小时前
微信小程序学习笔记
笔记·学习·微信小程序
amazinging10 小时前
北京-4年功能测试2年空窗-报培训班学测开-第三十九天
python·学习·appium
每次的天空10 小时前
Android-自定义View的实战学习总结
android·学习·kotlin·音视频
重庆小透明10 小时前
力扣刷题记录【1】146.LRU缓存
java·后端·学习·算法·leetcode·缓存
恋猫de小郭10 小时前
Flutter Widget Preview 功能已合并到 master,提前在体验毛坯的预览支持
android·flutter·ios
许白掰12 小时前
【stm32】HAL库开发——CubeMX配置RTC,单片机工作模式和看门狗
stm32·单片机·嵌入式硬件·学习·实时音视频