苹果Cocoa编程规范中文版
需积分: 14 45 浏览量
更新于2024-07-22
收藏 1.06MB PDF 举报
"苹果Cocoa编码规范中文版,旨在帮助开发者规范自己的代码习惯,文档由罗朝辉于2011年11月3日翻译自苹果官方的Cocoa编码规范,涵盖了代码命名基础、一般性原则、前缀、书写约定等多个方面,详细规定了类名、方法名、实例变量等的命名规则。"
苹果Cocoa编码规范是苹果公司为Cocoa框架开发者提供的指南,确保代码的可读性、一致性和易维护性。以下是一些关键的编码规范要点:
1. **代码命名基础**:
- 强调清晰性和简短性的平衡,避免过于简短导致的模糊性。
- 除非是非常常见的缩写,否则应避免使用缩写,以提高可读性。
- 避免使用可能导致歧义的API名称。
2. **一般性原则**:
- 清晰性优先,例如`insertObject:atIndex:`比`insert:at:`更清晰。
- 名称通常不缩写,如`destinationSelection`优于`destSel`。
- 考虑到跨文化可读性,避免假设所有开发人员都熟悉特定缩写。
3. **前缀**:
- 类名通常使用公司或项目特有的前缀,以减少命名冲突。
- 例如,苹果自身使用`NS`、`UI`等前缀。
4. **书写约定**:
- 类与协议命名使用驼峰式命名,首字母大写,如`MyClassName`。
- 头文件通常与类名相同,但去掉类名中的`NS`等前缀,如`MyClassName.h`。
- 方法名遵循消息传递风格,如`- (void)doSomething:`。
5. **方法命名**:
- 方法名描述其功能,例如`addObject:toArray:`。
- 访问方法如`- (NSString *)name`用于获取属性值。
- 委托方法通常以`did`或`will`开头,如`- (void)tableView:didSelectRowAtIndexPath:`。
- 集合方法如`- (void)enumerateObjectsUsingBlock:`。
- 方法参数应清晰,避免歧义。
- 私有方法前通常加下划线`_`,如`- (_void)privateMethod:`。
- 函数命名与方法类似,但没有冒号,如`void myFunction(void)`。
6. **实例变量与数据类型命名**:
- 实例变量通常以下划线开头,如`@property (nonatomic, strong) NSString * _name`。
- 常量命名全大写,用下划线分隔单词,如`extern NSString * const MyConstantName`。
7. **异常与通知**:
- 异常命名通常以`NS`前缀和`Exception`后缀,如`NSInvalidArgumentException`。
- 通知名称通常以`Notification`后缀,如`MyNotificationName`.
8. **可接受的缩略语**:
- 少数常见缩写可以在命名中使用,如`URL`、`CPU`等。
- 但也需注意避免可能导致误解的缩写。
9. **框架开发者小贴士与技巧**:
- 初始化方法命名如`- (instancetype)initWithParameter:`。
- 保持代码的一致性,参考Cocoa现有的命名约定。
遵循这些规范,开发者可以创建出更易于理解、更易于协作的代码,提高整个项目的质量。对于新加入Cocoa开发的人员来说,理解和遵循这些规范至关重要。
2014-09-05 上传
2016-04-03 上传
2016-03-07 上传
2010-10-29 上传
131 浏览量
2012-12-09 上传
2014-06-06 上传
点击了解资源详情
2017-10-12 上传
Andyzzhz
- 粉丝: 0
- 资源: 2
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍