码迷,mamicode.com
首页 > 移动开发 > 详细

ios开发代码规范

时间:2015-08-27 22:49:13      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:

代码规范很重要,一个良好的代码习惯要从一开始就养成
 
公共类和文件的设计
 (网络请求类、数据库类、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条件判断的嵌套,给人的感觉就是太乱,而且不
    太容易分清判断的到底是什么。那么就要把减少嵌套的语句,将嵌套的
    语句方法化或者做其他处理。
 

ios开发代码规范

标签:

原文地址:http://www.cnblogs.com/zhengzailushangya/p/4764787.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!