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 虽然这篇文章的 ...
随机推荐
- 全站之路一路坑(2)——在Apache下部署django博客
上一篇博客:全栈之路一路坑之使用django开发博客 开发完博客之后,很多后续应用需要博客部署之后才可以使用,这篇文章就来尝试一下将开发好的博客部署到服务器上. 开发阶段,一直使用的是virtuale ...
- VSCode打开大文件插件
hexdump for vscode 其实没什么插件,上面的是十六进制文件的插件,对于大文件还是建议用专业的ST或者Notepad++这些.
- JS版汉字与拼音互转终极方案,附简单的JS拼音
前言 网上关于JS实现汉字和拼音互转的文章很多,但是比较杂乱,都是互相抄来抄去,而且有的不支持多音字,有的不支持声调,有的字典文件太大,还比如有时候我仅仅是需要获取汉字拼音首字母却要引入200kb的字 ...
- curl的用法
1.官网:https://curl.haxx.se/ 2.版本安全漏洞:https://curl.haxx.se/docs/security.html 3.github:https://github. ...
- Nginx学习——Nginx进程间的通信
nginx进程间的通信 进程间消息传递 共享内存 共享内存还是Linux下提供的最主要的进程间通信方式,它通过mmap和shmget系统调用在内存中创建了一块连续的线性地址空间,而通过munmap或者 ...
- Ajax学习(一)——与Ajax的初次相识
AJAX是"Asynchronous Javascript And XML"的缩写,从字面上解释是"异步JavaScript和XML"的简称. 它不是一 ...
- Java排序算法(三):直接插入排序
[基本思想] 关键:在前面已经排好序的序列中找到合适的插入位置 步骤: 1. 从第一个元素開始,该元素能够觉得已经排好序. 2. 取出下一个元素.在已经排好序的元素序列中从后往前扫描进行比較. 3. ...
- C++中全局变量如何使用
运行文件的小技巧:包含2个.CPP和一个.H文件,必须一个.CPP一个.H一一对应.且C++中,只能运行一个项目,要想在多个文件中(.cpp)运行一个.cpp必须建立多个项目,或者将不允许运行的文件从 ...
- url删除指定字符
var str = "http://www.xxx.com/?pn=0"; // 删除指定字符 pn=0 // 我将这个字符串里所可能想到的各种情况都列举出来 var a = [ ...
- kettle转换之多线程
kettle转换之多线程 ETL项目中性能方面的考虑一般是最重要的.特别是所讨论的任务频繁运行,或一些列的任务必须在固定的时间内运行.本文重点介绍利用kettle转换的多线程特性.以优化其性能. ...