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 虽然这篇文章的 ...
随机推荐
- GCJ——Minimum Scalar Product(2008 Round1 AA)
题意: 给定两组各n个数,可任意调整同一组数之中数字的顺序,求 sum xi*yi i=1..n的最小值. Small: n<=8 abs xy,yi<=1000 Large: n< ...
- Ubuntu 16.04安装深度的Wine(deepin-wine 1.9.0)
说明: 1.使用的Wine版本是深度出品(Deepin),已经精简了很多没用的配置,使启动能非常快,占用资源小. 2.提取自QQ和迅雷安装包,如果安装了这个Wine不成功,可能是依赖问题,再试多几次, ...
- git常用命令,制作缩写命令
目录 基础命令 常用命令列表 查看状态 添加到本地仓库 推送到远程仓库 创建分支 更新分支, 合并分支 查看分支的差异 回滚 其它 缩写命令 基础命令 # 生成SSH key ssh-keygen - ...
- Jsp2.0自定义标签(第二天)——自定义循环标签
今天是学习自定义标签的第二天,主要是写一个自定义的循环标签. 先看效果图: 前台页面Jsp代码 <%@ page language="java" contentType=&q ...
- python函数式编程学习之map,reduce,filter,sorted
map(f, list)函数用于将函数f运用到list里的每个元素中 写个例子 def pow(x): return x*x map(pow, [2,3,4]) reduce(f, list)函数用于 ...
- ES6 rest与扩展运算符
1.rest 变量将多余的参数放入数组中. function add(...values) { let sum = 0; for (var val of values) { sum += val; } ...
- 单点登录系统cas资料汇总
http://jasig.github.io/cas/4.0.x/index.html 主页 https://jasigcas.herokuapp.com ...
- 用Squid和DNSPod打造自己的CDN详细教程
本篇教程是顺应大家的要求而写.教程内大部分都是奶罩在为VeryCD等大型网站构建CDN时所累积的经验.在一些概念方面可能会有一些错漏,希望 大家指正. 本教程面对的对象是个人站长,所以各方面会力求傻瓜 ...
- centOS 7中上网以及网卡的一些设置
在VMWare中安装LinuxOS是个非经常见的事情. 可是,关于虚拟机的上网问题.想在这里总结一下,里面还有不懂的问题.希望能够得到前辈的解惑. 一.VMWare网卡的设置的三种选项: Bridge ...
- HTML5 2D平台游戏开发#1
在Web领域通常会用到一组sprite来展示动画,这类动画从开始到结束往往不会有用户参与,即用户很少会用控制器(例如鼠标.键盘.手柄.操作杆等输入设备)进行操作.但在游戏领域,sprite动画与控制器 ...