文件命名规范:

  1. 项目统一使用类前缀ZY。

  2. 分类命名+后面统一使用ZYExtension,例:NSDictionary+ZYExtension.h,常用分类定义在内部并写好文档注释。如果功能性分类内部方法较多可以考虑按功能命名。

  3. model文件可按服务器接口名或字段名命名,view、viewModel和controller文件可按功能命名。

  4. 切图命名:home_menu_chat,->模块_功能_具体名字,切图命名很重要,这点可与美术沟通,让他们直接命名好再给我们,可以大大提高开发效率,但千万不要使用中文。

代码规范:

  1. 分类方法以zy_开头,可与系统或者第三方框架方法区分。

  2. 全局用到的字符串或者基本数据类型尽量定义成常量而不是用宏。并且只在某一文件内部用到可用static修饰,并且不要暴露在.h文件。

  3. 宏定义以ZY_开头,并且统一大写,以_为分隔标识。

  4. 类内部方法按功能划分,统一使用#pragma mark <#xxxx#>划分。

  5. 方法参数较多时,尽量换行让其参数对齐,提高可读性。

  6. 方法属性注释尽量使用文档注释,可下载一个插件VVDocument.

  7. 定义成员变量必须遵循apple规范添加下划线。

  8. 控件和属性尽可能使用懒加载创建,这样就可以保证用到时再创建。注意使用了懒加载创建的就不要直接用下划线成员变量名访问了,应该用get方法访问。

  9. 方法回调尽可能使用block回调,可提高代码聚合度,但是要注意循环引用问题,建议block内部都使用weak引用。

  10. 声明字符串属性必须使用copy,代理使用weak,不过尽可能少用代理吧,用block回调更方便。

  11. 注意方法和属性、成员变量的驼峰标识命名。

  12. 析构函数- (void)dealloc最好放到类最上面,第一眼就可以看到这个方法,可以方便看到是否清空资源。

  13. 单个方法代码尽量不要超过100行,单个文件代码不要超过800行,如超过了可以考虑进行重构优化。   

  14. 相同逻辑方法,或者多处用到的方法可以优先考虑抽成分类,其次考虑抽到一个工具方法类。

  15. 定义控件或者控制器必须在后面加上控件名称,例如一个imageView->UIImageView *iconView,不要直接用UIImageView *icon。  

  16. 判断YES/NO/nil 采用这种写法

  17. 加载图片建议自定义UIImage一个分类方法,例:[UIImage zy_imageNamed:@””]。能在改方法拦截,换肤可能会用到。

  18. 所有网络请求以request开头。例: 返回结果用block并对应一个data模型,和error.当error有值时为请求错误。 建议使用的第三方框架: YYModel -> 字典转模型框架,性能目前与主流的框架相比性能较好,而且使用方便。 YYCategories -> 提供一些常用的分类方法,可以大大加快开发效率。 YYWebImage -> 加载网络图片框架,可以带有动画效果,比SDWebImage好用。 MJRefresh -> 下拉刷新控件 AFNetworking -> 网络请求 Pop -> facebook动画框架 SVProgressHUD -> HUD提示,一个单例类,全局共享,无需反复创建消耗性能 Masonry -> 自动布局框架 Realm -> 最近比较火的数据库框架,据说性能秒杀coreData和sqlite,且学习成本很低。 ReactiveCocoa -> 函数响应式编程框架。

iOS代码规范文档的更多相关文章

  1. Vue项目开发最新、最全代码规范文档

    Vue项目开发最新.最全代码规范文档 2019年02月21日 10:43:49 yw00yw 阅读数 337   一. 目录结构 |— build 构建脚本目录 |— build.js 生产环境构建( ...

  2. Java代码规范文档

    NOTE:以下部分为一个简要的编码规范,更多规范请参考 ORACLE 官方文档. 地址:http://www.oracle.com/technetwork/java/codeconventions-1 ...

  3. 【转载】WEB前端开发规范文档

    本文转载自谈笑涧<WEB前端开发规范文档> 为 新项目写的一份规范文档, 分享给大家. 我想前端开发过程中, 无论是团队开发, 还是单兵做站, 有一份开发文档做规范, 对开发工作都是很有益 ...

  4. JVM 内部原理(五)— 基本概念之 Java 虚拟机官方规范文档,第 7 版

    JVM 内部原理(五)- 基本概念之 Java 虚拟机官方规范文档,第 7 版 介绍 版本:Java SE 7 每位使用 Java 的程序员都知道 Java 字节码在 Java 运行时(JRE - J ...

  5. 自己的Java规范文档

    参考阿里Java规范文档 不建议使用过时方法 泛型需要加上<>,这种方式创建的对象是不推荐的. Map object = new HashMap();//禁止使用 字符串比较时,不需要大小 ...

  6. 还在手工制作APP规范文档?这款设计神器你不容错过

    之前写了一些关于APP原型文档的文章:一款APP的交互文档从撰写到交付 这次想写下关于APP设计规范文档的内容,规范文档这个东西,实际上大部分中小型公司没有这方面的需求,也没精力去制作这样一个系统性的 ...

  7. C# 代码注释规范文档

    C# 提供一种机制,使程序员可以使用含有 XML 文本的特殊注释语法为他们的代码编写文档.在源代码文件中,具有某种格式的注释可用于指导某个工具根据这些注释和它们后面的源代码元素生成 XML.使用这类语 ...

  8. 2.SDL规范文档

    01.安全设计Checklist 输入验证 校验跨信任边界传递的不可信数据(策略检查数据合法性,含白名单机制等)格式化字符串时,依然要检验用户输入的合法性,避免可造成系统信息泄露或者拒绝服务 禁止向J ...

  9. Web前端开发规范文档

    Web前端开发规范文档 规范目的: 使开发流程更加规范化. 通用规范: TAB键用两个空格代替(windos下tab键占四个空格,linux下TAB键占八个空格). CSS样式属性或者JAVASCRI ...

随机推荐

  1. Unicode编码及其实现:UTF-16、UTF-8,and more

    http://blog.csdn.net/thl789/article/details/7506133

  2. 如何从零开始学习DIV+CSS

    CSS是样式,DIV是层.DIV+CSS是网站标准(web标准),通常为了说明与HTML网页设计语言中的表格(table)定位方式的区别.因为XHTML网站设计标准中,不再使用表格定位技术,而是采用D ...

  3. javascript进击(一)简介

    javascript是属于网络的脚本语言(javascript与java就像老婆与老婆饼,并没有关系) 页面静态效果:HTML+CSS 为页面添加动态效果:javascript JavaScript ...

  4. xilinx仿真库的作用(原创)

    ① secureip库:硬核(HARD IP)仿真(功能仿真和时序仿真)模型(hard IP simulation model),比如PowerPC.PCIE.SRIO.DDR等.Simulation ...

  5. SQL Server 2008 Values 新用途

    SQL Server 2008中新增功能:可以使用单个Insert命令插入多行. Create table Demo_Values (PKID int not null identity(1,1) p ...

  6. 错误编码 = 10022 错误消息 = SDK 组件 Qupaisdk 启动出错,错误消息为 [Qupaisdk], the android stack error message is Fail to start the plugin, which is caused by No implem

     so没有load到.几个可能,1.缺少so--在群共享下载拷贝到armeabi-v7a 2.so没有打入apk--检查打出来的apk.解压打开看下libs下面有没有so. 3.abi平台问题.检查平 ...

  7. kindeditor-4.1.10在线编辑器的使用[多个]

    <script type="text/javascript" charset="utf-8" src="../../Editor/kindedi ...

  8. Ext.Net学习笔记06:Ext.Net DirectEvents用方补充

    在ASP.NET控件上面使用DirectEvents 我们在ASP.NET中实现无刷新的页面请求的时候,通常会用到UpdatePanel,现在Ext.Net为我们提供了另外一种渠道:通过DirectE ...

  9. DailyNote

    删除node-modules文件夹 npm install -g rimraf rimraf node_modules 绘制一条贝塞尔曲线: context.quadraticCurveTo(x1,y ...

  10. (hdu)5652 India and China Origins 二分+dfs

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5652 Problem Description A long time ago there ...