文章目录
  1. 1. ios代码规范
    1. 1.1. 一、命名规范
      1. 1.1.1. 1. 类命名
      2. 1.1.2. 2. Categroy(类别)命名
      3. 1.1.3. 3. 协议(委托)命名
      4. 1.1.4. 4. 方法命名
      5. 1.1.5. 6. 方法参数命名
      6. 1.1.6. 7.变量命名
      7. 1.1.7. 8.常量
      8. 1.1.8. 9.图片命名
      9. 1.1.9. 10.分组命名
    2. 1.2. 二、书写规范
      1. 1.2.1. 1. 注释
      2. 1.2.2. 2. 方法
      3. 1.2.3. 3.其他规范

ios代码规范

一、命名规范

1. 类命名

首字母大写,之后每个单词首字母都大写

  • 使用能够反映类功能的名词短语
  • 文件和类同名

举例:BaseC*ient、ImageStore

如果是视图控制器的子类应添加后缀“ViewControer”或者“Controer” * 如果是视图的子类应添加后缀“View”
如果是按钮的子类应添加后缀“Btn”
……

举例:SettingsViewContro**er、NavigationView

2. Categroy(类别)命名

**与类命名相同,此外需添加要扩展的类名和“+” **

举例:NSString+UR*Encoding

3. 协议(委托)命名

与类命名相同,此外需添加“De*egate”后缀

举例:RepyViewDeegate

4. 方法命名

首字母小写,之后每个单词首字母都大写, 具有足够的说明性

  • 首字母小写,之后每个单词首字母都大写 * 方法名使用动词短语

    举例:- (void)setPostVaue:(int)vaue

6. 方法参数命名

首字母小写,之后每个单词首字母都大写

  • 具有足够的说明性
  • 不需要添加类型前缀

    举例:- (void)sendUserInfo:(NSDictionary *)userInfo

7.变量命名

  • 首字母小写,之后每个单词首字母都大写 * 具有足够的说明性
  • 成员变量不需要添加“_m”前缀
  • 成员变量添加“_”前缀

8.常量

  • 常量(预定义,局部常量等)使用小写k开头的驼峰法

    举例:kInvaidHande , kWritePerm

  • 枚举类型命名首字母大写,之后每个单词首字母都大写,最后加“s”

  • 枚举变量使用枚举类型去掉“s”作为前缀,每个单词首字母大写,中间不允许加下划 线

9.图片命名

10.分组命名

举例:
typedef enum UIControEvents{ UIControEventTouchDown, UIControEventTouchUpInside }UIControEvents;

  • 使用英文,首字母大写,之后每个单词首字母都大写 * 添加模块名作为前缀,避免冲突
  • 图片应该与类文件一样,按模块分组放置
    使用英文,首字母大写,之后每个单词首字母都大写 每个分组使用模块的名字 使用的开源库统一放在“ibrary”分组下 使用的公共组件统一放在“Common”分组下 视图控制器及 AppDeegate 统一放在“Contro**ers”分组下

二、书写规范

1. 注释

 * 文件都包含文件头,要说明文件名、作者、创建时间、变更记录
 * 多人协作完成项目时,pub*ic 接口的每个方法都应该添加关于函数,参数,返回值以 及副作用的注释

* 当if语句的判断条件复杂时,需要用注释说明判断内容
* 接口类(继承于BaseC*ient)的头文件每个方法前都应该注明方法的作用

2. 方法

  • 留一个空格在-或+和返回类型之间,但参数列表里的参数之间不要留间隔,每个冒号 之前都必须有对该参数的说明词,如:

      - (void)doSomethingWithString:(NSString *)string number:(int)num
    
  • 如果参数过多,推荐每个参数各占一行。使用多行的情况下,在参数前加冒号用于对 齐,如:

      -(void)doSomethingWith:(GTMFoo *)theFoo rect:(NSRect)theRect
      interva:(foat)theInterva*
    

3.其他规范

  • 操作符前后都要加空格

  • 避免相同的代码段在多个地方出现

  • 语句嵌套层次不得超过 3 层

  • 每个实现文件建议在 500 行以内,不能超过 1000 行,超过之后应考虑通过抽象类对 代码进行重构

  • 及时删除或注释掉无用的代码

  • UITabeViewCe* 里面的 network cient 都要委托出来

  • 点击按钮之后需要切换按钮图片,当这两张图片没有关联时(例如一张图片相比另一
    张图片有选中效果),不应该设置为 UIControSeected * 控件布局使用相对坐标

  • 确定不使用的代码应该删除

文章目录
  1. 1. ios代码规范
    1. 1.1. 一、命名规范
      1. 1.1.1. 1. 类命名
      2. 1.1.2. 2. Categroy(类别)命名
      3. 1.1.3. 3. 协议(委托)命名
      4. 1.1.4. 4. 方法命名
      5. 1.1.5. 6. 方法参数命名
      6. 1.1.6. 7.变量命名
      7. 1.1.7. 8.常量
      8. 1.1.8. 9.图片命名
      9. 1.1.9. 10.分组命名
    2. 1.2. 二、书写规范
      1. 1.2.1. 1. 注释
      2. 1.2.2. 2. 方法
      3. 1.2.3. 3.其他规范