美文网首页
iOS编程规范

iOS编程规范

作者: 哭泣的琉璃贝 | 来源:发表于2017-03-26 13:07 被阅读45次

命名规范


文件命名

原则:采取驼峰命名规则,即首字母必须大写,如果为词组,则每个单词的首字母必须大写,类名只能使用名词或名词词组。

  • 所有类名以MG(米果的缩写)开头;
  • 根据功能模块,类添加功能模块前缀,如个人中心模块,类加MGUC前缀;
  • 继承自UIViewUITableViewCellUIButton等以ViewCellButton结尾;
  • 继承自ViewController的类以Controller结尾;
  • 继承自TableViewController的类以TableController结尾;
  • protocol定义时,前缀以MG开头,后缀以Delegate结尾;
  • Category命名,类名+标识+扩展,如UIImageView +HP+Web,命名为UIImageView+HPWeb;
  • 数据模型以Model结尾;
变量和对象命名

原则:变量名使用小驼峰法, 使变量名尽量可以推测其用途属性具有描述性,每个属性命名都加上类型后缀。

  • 类成员变量名,遵守小驼峰法命名并前缀下划线_。如UIButton *_submitButton;
  • 局部变量名,遵守小驼峰命名规则。如UIButton *submitButton
  • 通知相关变量名,添加Notification为后缀;
  • 控件类型变量,命名需添加相应类型结尾;
  • 变量名需有特定的意义,建议修饰+类型
  • const常量,以小写k开头,后面单词首字母大写,其余小写。如:const float kMaxHeigt = 100.0f;
枚举命名

原则:遵循大驼峰命名法,如:

typedef NS_ENUM(NSInteger, UIViewAnimationTransition) {
    UIViewAnimationTransitionNone,
    UIViewAnimationTransitionFlipFromLeft,
    UIViewAnimationTransitionFlipFromRight,
 UIViewAnimationTransitionCurlUp,
    UIViewAnimationTransitionCurlDown,
};
方法命名

原则:遵守小驼峰原则,首字母小写,其他单词首字母大写,每个空格分割的名称以动词开头。

A 代理方法
  • 以发送代理的对象类名作为代理方法名的开始(去掉类名的前缀,并且小写开头)
B 实例方法
  • 执行性的方法应该以动词开头,小写字母开头;
  • 返回性方法,若返回值为单个值,在头部加上单词get;
  • 返回性的方法应该以返回的内容开头,但之前不要加get;
资源命名

原则:“模块+功能”命名法

  • 可使用公认无歧义的缩写,如:background对应bg , viewcontroller对应vc,button对应btn,navgation对应nav
  • 模块分为公共模块、私有模块:公共模块主要包括统一的背景,导航条,标签,公共的按钮背景,公共的默认图等等;私有模块主要根据app的业务功能模块划分,比如用户中心,消息中心等。
  • 如用户中心用户头像图片的命名可以为:uc_imageview_user_icon

编码规范


原则:可复用, 易维护, 可扩展.

注释
  • 变量注释应详细描述变量用处(文档注释)
  • 枚举注释应详细描述枚举和每一个元素用处(文档注释)
  • 方法注释应详细描述方法作用、参数意义、返回值意义(文档注释)
  • 其他使用单行注释
资源文件
  • 资源文件全部放入Supporting Files文件夹下
  • app支持iOS8及以上,图片资源放入Assert.xcassets,可根据功能模块分类或资源分类建立自己的Folder
  • app支持iOS7及以上,图片资源放入Resources文件夹,各个资源按照功能模块或资源分类放在相应的文件夹内
设计模式

原则:项目分层:http://o9zrwgllm.bkt.clouddn.com/%E6%9E%B6%E6%9E%84%E7%A4%BA%E6%84%8F%E5%9B%BE.png

  • 单个模块使用MVC,或MVVM
  • 对于可重复使用的模块,应抽离为单独工具模块,留好清晰的入口及出口
  • 建立领域(业务)模型,解耦图形界面,数据存储和业务逻辑
  • 抽离较独立的功能,抽离对应的service
单元测试

原则:使用Apple自带的XCTest框架进行单元测试

  • 对于接口和可进行模块化测试的部分,应编写对应的单元测试,测试包含边界条件测试,非法条件测试,性能测试等
第三方库管理
  • 对于引入的第三方库,统一使用cocoapods进行管理
  • 若第三方库需要修改调用效果,尽可能使用Category或子类重写调用效果
版本管理
  • 使用git进行版本管理
  • 提交log,最好清晰表述相关的功能修改,若修改bug,最好加上bug编号
  • 发布的大版本,打tag标示对应的版本,tag名称规则为正式版版本_日期,如5_5_20160715
注意:
  • 注意变量的强弱引用
  • 注意block等循环引用问题
  • 注意解耦UI,数据,业务逻辑
  • 注意各种费时操作尽可能不阻塞主线程

相关文章

  • 开题

    iOS编程规范 2016.11.25(1.0版本) 目录 iOS编程规范........................

  • 乐乎-代码规范概述

    参考: 1、iOS中书写代码规范35条小建议 2、iOS开发总结之代码规范 3、iOS代码编程规范-根据项目经验汇...

  • iOS 团队编程规范

    iOS 团队编程规范 前 言 一、命名规范 二、代码注释规范 三、代码格式化规范 四、编码规范 参考资料: 转载自...

  • iOS编程规范

    前言以下是自己在iOS编程中学习的一些规范,记录和分享一下。虽然在日常开发中一般会有一些特定的规范,但是也会有一些...

  • iOS编程规范

    http://mp.weixin.qq.com/s/Thieb7I1pDeMgzppNMK9BQ

  • iOS编程规范

    在Github上看到一篇总结的非常好! https://github.com/Sumi-Interactive/S...

  • iOS编程规范

    命名规范 文件命名 原则:采取驼峰命名规则,即首字母必须大写,如果为词组,则每个单词的首字母必须大写,类名只能使用...

  • 代码之天圆地方

    优雅的写代码轻松的查代码严格的审代码 一、 iOS代码规范检查 新人入场第一件事就是熟悉代码规范iOS代码编程规范...

  • iOS团队编程规范

    前 言 需求是暂时的,只有变化才是永恒的,面向变化编程,而不是面向需求编程。 不要过分追求技巧,降低程序的可读性...

  • iOS组编程规范

    一,UI篇 版本迭代的过程中,大部分的时间在和UI打交道,UI开发也是iOS开发里面比较辛苦的地方。从au...

网友评论

      本文标题:iOS编程规范

      本文链接:https://www.haomeiwen.com/subject/sxqkottx.html