iOS项目的开发命名规范教程

前言

遵守规范也是让代码更清晰明了,易读,易用,易维护,可以更好的适应团队开发。自己看着也是赏心悦目,何乐而不为呢。下面话不多说了,来一起看看详细的介绍吧。

一、关于本文档

1、本文档的书写目的

《iOS项目的命名规范》的书写目的,在于让后续参加到该项目的iOS开发人员通过阅读该文档,了解在当前iOS项目的代码中的命名要求并严格按照本文档执行,以便保证代码的更好阅读与维护。

2、本文档的使用范围

《iOS项目的命名规范》在iOS项目中被强制要求执行。将本文中的WSF或者wsf替换成代表项目的前缀(请用三个大写字母),即可用于其他iOS项目。

3、本文档的更新负责人

《iOS项目的命名规范》由本ID和同事共同协商讨论制定,由本ID负责编辑、修改和后续的版本更新。

二、目录结构

三、新建【业务模块文件夹】

1、文件夹的名称需要体现该模块的功能概括。

比如:支付系统、订单

2、二级文件夹根据编程设计模式分类命名,需要从下面词语中取词:

ViewModel、Model、View、ViewController、其他

四、新建【子类】

1、类名

(1)遵循大驼峰命名法。

(2)WSF+模块概括名+功能分区名+父类的惯用后缀。比如:WSFOrderListVC

(3)为了整个项目代码的整洁与统一,建议使用List、Detail、Message、TView、Cell、VC、TVC、VM等字样。

(4)模块概括名一定要是统一的、明确的、唯一的代表模块名称。

(5)父类的惯用后缀的意思是:如果要从其他框架继承子类,那么必须遵循其命名惯例。比如,继承UIView的子类名称必须以View结尾。

2、属性名

(1)遵循小驼峰命名法、避免缩写。

(2)后缀体现属性的数据类型。比如:orderPriceLabel、orderLimitsArray。

(3)使用长的、描述性的命名方向。比如settingButton而不是setBtn。

(4)要求NSString *nameString; 而不是NSString* nameString; 或者NSString * nameString;。

3、属性定义

(1)定义属性的参数顺序排序:原子性、读写、内存管理。比如:@property (nonatomic, readwrite, copy) NSString *nameString;

(2)BOOL类型的属性,需要为其getter方法带is前缀。getter方法放在内存管理限定符前面,比如:@property (nonatomic, readonly, getter=isEditable, assign) BOOL editable;

4、实例变量名

(3)下划线开头

(2)遵循小驼峰命名法、避免缩写。

(3)后缀体现属性的数据类型。比如:_orderPriceLabel、_orderLimitsArray。

5、公有方法名

(1)遵循小驼峰命名法、避免缩写。

(2)不要使用“and”这个词,它不应该用来阐明有多个参数。

6、私有方法名

(1)遵循小驼峰命名法、避免缩写。

(2)直接父类是Cocoa框架:p_开头。

(3)直接父类是其他框架:以自己一贯的前缀(小写)+下划线开头或者wsf_。比如:abc_、wsf_。

7、纯C函数

(1)遵循小驼峰命名法、避免缩写。

(2)加上WSF为前缀。

8、全局变量

.h文件

extern NSTimeInterval WSFPersonModelAnimationDuration;
extern NSString *WSFPersonModelErrorMessage; 

.m文件

NSTimeInterval WSFPersonModelAnimationDuration = 0.3;
NSString *WSFPersonModelErrorMessage = @“ErrorMessage”;

(1)遵循大驼峰命名法、避免缩写。

9、枚举名

(1)遵循大驼峰命名法、避免缩写。

(2)使用OC的枚举方式。

(3)枚举对象名:WSF+枚举范围概括名+Type。比如:WSFAlipayResultCodeType

(4)枚举种类名:WSF+枚举范围概括名+Type_某种情况名。比如:WSFAlipayResultCodeType_success。

10、协议名

(1)遵循大驼峰命名法、避免缩写。

(2)代理协议:类名+Delegate。比如:WSFOrderListChangedDelegate。

(3)数据源协议:类名+DataSource。比如:WSFOrderListDataSource。

(4)普通协议:类名+Protocol。比如:WSFOrderListVCProtocol。

五、新建【分类】

1、分类名

(1)类名+标识前缀+扩展标识。

(2)遵循大驼峰命名法、避免缩写。

(3)WSF或者自己一贯使用前缀(大写)+下划线为前缀。比如:NSString (WSF_HTTPManager)、NSString(ABC_HTTPManager)。

2、方法名

(1)遵循小驼峰命名法、避免缩写。

(2)wsf或者自己一贯使用前缀(小写)+下划线为前缀。比如:- (void)wsf_urlEncodedString;、- (void)abc_urlEncodedString;

六、新建【协议】

1、协议名

(1)遵循大驼峰命名法、避免缩写。

2、方法名

(1)遵循小驼峰命名法、避免缩写。

(2)如果是代理协议,以发送代理的对象类名作为代理方法名的开始(去掉类名的前缀,并且遵循小驼峰命名法)。

七、新建【第三方库的封装】

(1)手动管理:比如使用MJRefresh框架,需要将它的类名全部加前缀以避免命名空间冲突。比如:命名为WSFMJRefresh。

(2)pod管理:不需要特殊处理。

八、新建【常量】

1、私有常量

.m文件

static const NSTimeInterval kAnimationDuration = 0.3;
static NSString *const kErrorMessage = @“ErrorMessage”;

2、公开常量

.h文件

extern const NSTimeInterval WSFPersonModelAnimationDuration;
extern NSString *const WSFPersonModelErrorMessage; 

.m文件

const NSTimeInterval WSFPersonModelAnimationDuration = 0.3;
NSString *const WSFPersonModelErrorMessage = @“ErrorMessage”;

说明:

(1)遵循小驼峰命名法、避免缩写。

(2)在声明公开常量时,也可以使用FOUNDATION_EXPORT替换extern。

3、常量名称的常用命名方法:若常量局限于某“编译单元”,也就是“实现文件”之内,则在前面加字母k;若常量在类之外可见,则通常以WSF+类名为前缀。

九、新建【通知】

1、按照公共常量方法处理。

2、以Notification为后缀。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • iOS项目的开发命名规范教程

    前言 遵守规范也是让代码更清晰明了,易读,易用,易维护,可以更好的适应团队开发.自己看着也是赏心悦目,何乐而不为呢.下面话不多说了,来一起看看详细的介绍吧. 一.关于本文档 1.本文档的书写目的 <iOS项目的命名规范>的书写目的,在于让后续参加到该项目的iOS开发人员通过阅读该文档,了解在当前iOS项目的代码中的命名要求并严格按照本文档执行,以便保证代码的更好阅读与维护. 2.本文档的使用范围 <iOS项目的命名规范>在iOS项目中被强制要求执行.将本文中的WSF或者wsf替换成

  • Java项目开发命名规范(动力节点Java学院整理)

    最好使用英文,不要用汉语拼音 1:包(package):用于将完成不同功能的类分门别类,放在不同的目录(包)下,包的命名规则:将公司域名反转作为包名.比如www.bjpowernode.com 对于包名:每个字母都需要小写.比如:com. bjpowernode.test;该包下的Test类的全名是:com. bjpowernode.Test.java .如果定义类的时候没有使用package,那么java就认为我们所定义的类位于默认包里面(default package). 2:类:首字母大写

  • java开发命名规范总结

    使用前注意事项:1.由于Java面向对象编程的特性, 在命名时应尽量选择名词 2.驼峰命名法(Camel-Case): 当变量名或函式名是由一个或多个单字连结在一起,而构成的唯一识别字时,首字母以小写开头,每个单词首字母大写(第一个单词除外). 如:myFirstName 一 包名的书写规范 (Package)推荐使用公司或机构的顶级域名为包名的前缀,目的是保证各公司/机构内所使用的包名的唯一性.包名全部为小写字母,且具有实际的区分意义. 1.1 一般要求1.选择有意义的名字,能快速地传达该类的

  • 详解Golang 推荐的命名规范

    Golang 推荐的命名规范 很少见人总结一些命名规范,也可能是笔者孤陋寡闻, 作为一个两年的golang 开发者, 我根据很多知名的项目,如 moby, kubernetess 等总结了一些常见的命名规范. 命名规范可以使得代码更容易与阅读, 更少的出现错误. 如有不同意见欢迎吐槽.讨论. 项目地址 文件命名规范 由于文件跟包无任何关系, 而又避免windows大小写的问题,所以推荐的明明规范如下: 文件名应一律使用小写, 不同单词之间用下划线分割, 命名应尽可能地见名知意 常量命名规范 常量

  • Xcode9项目上传到GitHub教程

    最近通过视频在学习一个完整项目的开发流程和思路,为了更真实地模拟在实际开发中的流程,我们需要将项目的代码以及一些资料进行版本控制和管理,一般比较常用的SVN或者Github进行代码版本控制和项目管理.我们iOS项目的开发工具Xcode本来就集成了Github的代码控制,所以非常方便,今天我们就学习如何利用xcode直接进行代码管理,按照下面的5步轻松完成项目和GitHub链接. 1 注册GitHub账号 显然,如果我们需要将代码存放在Github上进行管理,第一步我们需要做的就是注册一个GitH

  • java面向国际化项目开发需遵循的命名规范

    目录 前言 一.package命名规范 二.Class命名规范 三.Interface接口 四.变量 五.常量 六.方法 七.泛型 前言 笔者最近帮助一些朋友应聘远程工作(一般都是一些国外的项目),国外的项目负责人一般都会要求提供github账号或者一些源代码,很多朋友在这一关就被筛选掉了,其中不乏一些我认为技术非常厉害的行业大牛,他们都研发过很多的大型项目,经验与技术实力都非常不错.那究竟是为什么呢?我经过仔细的研究,发现他们都有一个共同点,就是命名规范不太严谨.我对这些在应聘远程项目第一关就

  • VSCode开发UNI-APP 配置教程及插件

    目录 写在前面 注意事项 开发环境搭建 开发配置注意事项 写在前面 uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.H5.以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝).快应用等多个平台. 开发UNI-APP最好的工具是HbuilderX,但这并不打脸为什么要在VsCode中开发UNI-APP,用官方的话来说HBuilderX是专为Vue打造的编辑器,那么非Vue又该怎么办呢?这时就不得不对选择其它产品,那么为什

  • 浅谈Android编码规范及命名规范

    前言: 目前工作负责两个医疗APP项目的开发,同时使用LeanCloud进行云端配合开发,完全单挑. 现大框架已经完成,正在进行细节模块上的开发 抽空总结一下Android项目的开发规范:1.编码规范 2.命名规范 注:个人经验,经供参考 一.Android编码规范 1.学会使用string.xml文件 在我看来,当一个文本信息出现的次数大于一次的时候就必须要使用string.xml 比如一个保存按钮 , 不规范写法: <Button android:id="@+id/editinfo_b

  • Java命名规范

    编写规范目的:能够在编码过程中实现规范化,为以后的程序开发中养成良好的行为习惯. 1. 项目名全部小写 2. 包名全部小写 3. 类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写. 如:public class MyFirstClass{} 4. 变量名.方法名首字母小写,如果名称由多个单词组成,每个单词的首字母都要大写.(驼峰式) 如:int index=0; public void toString(){} 5. 常量名全部大写 如:public static final S

  • Android Studio开发环境搭建教程详解

    对于移动端这块,笔者之前一直都是进行iOS开发的,也从来没用过Java.但是因为进入了Google Android全国大学生移动互联网创新挑战赛(进入官网)的总决赛(笔者"西部计算机教育提升计划"的项目被直接推荐进入决赛),这个比赛要求一定要提交apk程序,所以我不得不赶紧学习一下Android开发了. 下面就对自己学习的过程做一个记录. 一.安装Android Studio 笔者用的计算机配置如下: Mac下安装Android Studio应该更简单一些,只需要下载一个Android

随机推荐