ios之编码规范具体说明
iOS代码规范:
所有代码规范所有遵循苹果sdk的原则,不清楚的请訪问苹果SDK文档或下载官方Demo查看。
1、project部分:
将项目中每一个功能模块相应的源文件放入同一目录下,使用虚拟目录。
引用的.a和相关的文件。独立使用目录存放。并标明是SDK
2、类:
命名:首字母大写,其后每一个单词首字母大写,类文件的名字必须与类中基本的@interface类名字一致。(例:RootViewController。PersonInfo)
category和protocol能够放在独立文件里,或放在某个类之前。
3、代码:
变量:全部变量命名遵循驼峰规则,变量名需保证见名知意。(例:NSString *personName = @"123",BOOL isTrue = YES)
除此之外还需满足下面条件:
暂时变量以小写字母开头。其后每一个单词首字母所有大写,尽量不使用数字和下划线。
全局变量下面划线开头。禁止使用数字,尽量不在中间使用下划线。
4、数据类型:
能使用Objective-C的数据类型,尽量使用Objective-C的数据类型,切忌交叉使用(哪怕你知道那原本就是一个类型)。
5、属性、方法
全部属性名不能下面划线开头,尽量不使用单词简写。(例:
@property (nonatomic,strong)NSString *orderNumber;
@property (nonatomic,strong)NSMutableDictionary *studentInfo;
)
方法名必须以小写字母开头,每一个參数描写叙述必须明白的描写叙述后面的參数,每一个形參必须确切的表示參数的作用。严禁出现 - (id)init:(NSString *)a b:(NSString *)b作此类的方法名。
6、语句、括号
全部语句必须遵循左对齐原则,括号位置需保持一致。
换行前注意语句对齐,嵌套语句中换行和括号必须依次缩进。
7、 凝视、标记
每一个不够明白的变量和属性之前。必须加上相关凝视。
每一个略微复杂的方法。必须加上对功能的描写叙述。
运行到关键步骤时。尽量使用语句提示其作用。
出现关键性的流程选择时,使用凝视提示。
同一个类中出现其它引用。出现独立功能模块时。加入mark。
随意待优化、未完好、未測试、不确定的代码。须要加入mark。
8、宏、静态全局变量
尽量写在独立的文件里。
简短的宏命令尽量使用大写,稍长的能够大写开头,其后使用小写,但尽量加入下划线加以区分。
大量反复使用的数值尽量使用宏,嵌套层数过多、使用频率较高、格式固定无需较大更改的方法尽量使用宏。
经常使用设备信息、屏幕尺寸、固定參数尽量使用宏,接口地址、路径、固定參数可使用宏或全局静态变量。
ios之编码规范具体说明的更多相关文章
- 【安全开发】IOS安全编码规范
申明:本文非笔者原创,原文转载自:https://github.com/SecurityPaper/SecurityPaper-web/blob/master/_posts/2.SDL%E8%A7%8 ...
- iOS开发 编码规范
转至 http://www.cnblogs.com/celestial/archive/2012/06/30/2571417.html 编码规范 一.文档结构管理 1.建立Libraries文件夹 ...
- iOS 注释的5要3不要和编码规范的26个方面
注释 代码注释,可以说是比代码本身更重要.这里有一些方法可以确保你写在代码中的注释是友好的: 不要重复阅读者已经知道的内容 能明确说明代码是做什么的注释对我们是没有帮助的. // If the col ...
- Objective-C编码规范:26个方面解决iOS开发问题
介绍 我们制定Objective-C编码规范的原因是我们能够在我们的书,教程和初学者工具包的代码保持优雅和一致.即使我们有很多不同的作者来完成不同的书籍. 这里编码规范有可能与你看到的其他Object ...
- iOS编码规范参考
目录 注释 1.1 多行注释 1.2 单行注释 1.3 函数的注释 命名 2.1 常量的命名 2.2 函数的命名 2.3 变量的命名 2.3.1 成员变量 2.3.2 公 ...
- [iOS翻译]Cocoa编码规范
简介: 本文整理自Apple文档<Coding Guidelines for Cocoa>.这份文档原意是给Cocoa框架.插件及公共API开发者提供一些编码指导,实质上相当于Ap ...
- Objective-C开发编码规范【转载】
概要 Objective-C是一门面向对象的动态编程语言,主要用于编写iOS和Mac应用程序.关于Objective-C的编码规范,苹果和谷歌都已经有很好的总结: Apple Coding Guide ...
- HTML编码规范
HTML编码规范 1 前言 HTML作为描述网页结构的超文本标记语言,在百度一直有着广泛的应用.本文档的目标是使HTML代码风格保持一致,容易被理解和被维护. 2 代码风格 2.1 缩进与换行 [强制 ...
- 资料推荐--Google Java编码规范
之前已经推荐过Google的Java编码规范英文版了: http://google-styleguide.googlecode.com/svn/trunk/javaguide.html 虽然这篇文章的 ...
随机推荐
- SecureCRT的帮助文档
[Help]->[Help Topics] Ubuntu:file:///usr/share/doc/scrt/SecureCRTHelp/SecureCRT.htm
- Android Studio和MAT结合使用来分析内存问题
Android开发中时常会遇到内存泄漏的问题,而Android系统对单个App又有一定的内存限制,此值可以通过一下方式获取: ActivityManager am = (ActivityManager ...
- VS2010 MFC中 给菜单项添加消息响应函数
久了没用,居然忘记了该怎样给菜单项添加响应函数了~~~~~~~~T_T 特记于此: 1. 在资源视图的Menu里找到自己要添加的菜单,然后输入菜单项. 2. 右击菜单项选属性,设置Popup为Fals ...
- Linux 设备驱动模型
Linux系统将设备和驱动归一到设备驱动模型中了来管理 设备驱动程序功能: 1,对硬件设备初始化和释放 2,对设备进行管理,包括实参设置,以及提供对设备的统一操作接口 3,读取应用程序传递给设备文件的 ...
- RPM命令使用
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写 •rpm的常用参数 i:安装应用程序(install) e:卸载应用程序(erase) vh:显示安装进度:( ...
- maven module和project的区别
Maven Project可以理解为父工程.Maven Module可以理解为子工程.创建Maven Module工程必须有存在的父工程,maven就是通过父子工程进行工程管理的.
- 每天学点Python之bytes
每天学点Python之bytes Python中的字节码用b'xxx'的形式表示.x能够用字符表示,也能够用ASCII编码形式\xnn表示.nn从00-ff(十六进制)共256种字符. 基本操作 以下 ...
- html5,audio音乐播放器
最终,做了自己原来一直想要实现的事儿.得出的结果是,有些事儿一旦開始做了,那么它就并非非常难. 如今的我,正听着自己的播放器放出的<光辉岁月>写这篇周六清晨的博文.写的不是非常好.但也请各 ...
- How do you stop Ansible from creating .retry files in the home directory?
There are two options that you can add to the [defaults] section of the ansible.cfg file that will c ...
- MongoDB 快速入门
本作品由Man_华创作,采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.基于http://www.cnblogs.com/manhua/上的作品创作. MongoDB No ...