ios开发代码规范

ios开发代码规范


公共类和文件的设计
 (网络请求类、数据库类、Model类、View类,Controller<根据流程图>、Handle类<数据处理>、公共头文件<宏、接口的.h{URL}、常量const{通知中心的名字、一些状态码、枚举、结构体}、全局配置(适配{屏幕适配、iOS系统适配}的宏、系统版本判断、颜色值{参考图片})>)

一、文件


1、项目文件必须使用一个有意义的名字。
      例如:TestDownImages


2、任何文件的命名不要以中文命名。


3、文件的目录按以下结构
  a、Document — 文档所在路径
        b、Help — 帮助文件所在路径
  c、图片等资源要放在单独的目录或组中 如:Images、Pic等。
        d、Public文件夹,存放公共类和第三方类库,及工具类
           Base文件夹,自定义的父类
  Thirds文件夹,引用外部文件或某个单独的功能。例如:应用了第三方的json下载的功能,应该把所有的文件放在单独的Json组中。
           Tools文件夹,自定义的工具类(网络请求、数据库类等),公共头文件(宏、接口的url、常量const{通知中心的名字、状态码、枚举、结构体等},全局配置文件(屏幕适配、系统sdk适配、颜色值、图片名字等))。
  e、model、View或ViewController等文件可以按照功能或文件类型放在独立的组中。


二、注释
        注释是一个程序必不可少的一部分,它起到帮助阅读的重要作用。
        并且一定要写正确的注释。注释如果不正确比不写还可怕。


1、注释可以使用/*...*/和//两种注释符号,涉及多行注释时尽量使用 /*...*/。


2、对与一行代码的注释可以放在前一行或本行的结束,不允许放在下一行,更不能在一行语句的中间(虽然这不会导致程序出错)。


3、方法前面的注释应按下面的格式
/**
     * @方法名称
     * @方法描述
     * @输入参数
   * @输出参数
     * @返回值
  */


4、不必每行都加注释,在段落间加注释要好于每行加。显而易见的代码加上的是无用注释,所以不要加。


三、代码的排版
程序员在代码的编排上必须规范,如果排版格式混乱,别人就很难看懂你写的是什么,这将发费很多不必要的时间。


1、代码的缩进应使用空格,且以两个字符为单位。不能使用制表符(tab)。


             2、每行的长度最多不得超过100个字符
                   以15寸Macbook Pro的大小,每行100个字符时能最大化地同时容下编辑器和iPhone模拟器,
                   通过 “Xcode => Preferences => TextEditing => 勾选Show Page Guide / 输入100 => OK” 来设置提醒


3、大括号‘{}’的使用,最后一个括号在源程序中要单独占一行。
   例如:
   for(int i = 0; i < 10; i++) {

   }


4、空格的使用
a、关键字和表达式之间要有空格
   如:if(i = 0; i < 10; i++) 
b、单目操作符不能与操作数分开
   如:!a
c、除,外其他的双目操作符应与操作数分开
   如:i = i + 1;   if(a > b)
d、.h中协议<>前面要有一个空格。
e、成员声明时,类型与变量之间至少有一个空格,*号要靠近变量。
f、@proprety()里面,号紧跟前一个变量,与后一个变量之间留一个空格,()外先留一个空格再声明属性。
g、方法的+、-后面留一个空格。
h、方法的返回类型与*之间留一个空格。参数中返回类型与*之间留一个空格。
i、在多参数方法中,每个参数后面都有一个空格。

5、每行只能有一个语句
   例如:NSInteger row = [indexPath row];
            NSString *imgurl = [self.list objectAtIndex:row];
              NSURL *url = [NSURL URLWithString:imgurl];
6、空行
  a、.h中的空行
        import与interface之间加空行
        成员变量与属性间, 属性与方法间 加空行
        不同类型成员变量间, 不同类型的属性间,不同类型的方法间 加空行
b、.m中
        延展与implementation之间加空行
        implementation与方法实现间加空行
        方法与方法实现间加空行
        方法内不同的逻辑代码块之间加空行


四、命名规范
1、保留字
o-c中保留字或关键字不能用于命名。


2、方法
a、方法的名称应全部使用有意义的单词组成,且以小写字母开头。多单词时,后面的单词首字母大写(驼峰命名)。参数有别名时,参数别名与参数名一致,
        但参数名前缀以_。参数别名与前一参数保留一个空格。参数无别名时,以有意义的字母命名。
  例如:-(NameValue *) initWithId:(int)theId andName:(NSString *)theName;

3、变量
a、变量的名字要有意义,其他人能很容易读懂其代表的意义。变量名可以采用同义的英文命名,可使用几个英文单词,第一个单词首字母小写,其他的单词首字母大写。
     如:NSString  *userName;
b、对于一些特殊类型的变量,命名时要带上类型。
     如、NSArray  *cityArray;
c、对于控件命名时,后缀要带上特定的控件名。
     UILable  *userNameLable;
d、私有的实例变量前加一个下划线 
     如:_myPrivateValue;


4、常量
a、避免在程序中直接出现常数,使用超过一次的应以宏定义的形式代替
b、常数的宏定义应与它实际使用时的类型一致。
c、常量的命名应该能表达出它的用途,并且用大写的字母表示。
d、一些常量前加特殊前缀,可以作为不同常量的区分。

5、类
  a、所有的类名,接口名都要以大写字母开头,多单词时后面的单词的首字母都大写。类,接口名必须是有意义的。
c、继承自UIView的类以View结尾,如:imageView。继承自ViewController的类以viewController结尾 如:imageViewController

五、修改规范
1、新增行前后应有注释说明


//修改人   修改时间   修改说明
    新增的代码
//修改结束


2、删除代码项的前后应有注释


//修改人   修改时间   修改说明
    删除的代码(将代码注释掉  并不是去掉)
//修改结束


3、修改代码以注释旧代码新增新代码的方式进行。


六、嵌套语句的使用规则
   在程序中使用嵌套语句,一定要使嵌套语句的层次结构清晰明了。不能
让人看了半天还分不清你的层次,弄清你想要表达的意思。
   
1、if...else..条件语句的使用


a、判断的结构要合理
例如:if(a)

.......(有很多行代码)
 }
 else
 {
......(只有一行代码)
 }
如上的代码就不是很合理,可以修改为如下写法
if(!a)

......(只有一行代码)
 }
else

.......(有很多行代码)
 }


b、嵌套的if条件不要太多
例如:if(a)

if(b)

if(c)

......(还有很多if条件)
 }
else
{}

else
{}
 }
else
{}
如上代码有好多层的if条件判断的嵌套,给人的感觉就是太乱,而且不
太容易分清判断的到底是什么。那么就要把减少嵌套的语句,将嵌套的
语句方法化或者做其他处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值