转至   http://www.cnblogs.com/celestial/archive/2012/06/30/2571417.html

编码规范

一、文档结构管理

1.建立Libraries文件夹,所有第三方库放入其中。

2.建立Utilities文件夹,自已封装的类放入其中。

3.建立Constants.h头文件,所有的常量定义于其中。Constants.h文件放入Main文件组里面。

4.每个功能块放入一个Group,在目录里建立实际文件夹管理。

5.程序资源文件放入Supporting Files文件夹中。如.plist、数据库资料等。

6.在Supporting Files文件夹下建立Image、Music和Video等相关文件夹。图片、音频、视频等资源分别放入其中。图片资源以程序逻辑框架建立相应实体文件夹管理,若多个功能块共用的,建立Common文件夹,放入其中。

二、编码规范
说明:为了不影响阅读,一个类的代码行数尽量不要超过300行;一个方法尽量不要超过30行。有超过的在重构的时候想办法分解。
 
1.每个.h文件最开始处用简短文字说明一下该类的功能逻辑。

2.引入其它类时,若要作为实例变量的在.h中引入。否则在.m中引入。

3.@interface与@implementation与#import 之间空一行。@synthesize紧接着@implementation写。

4.a:声明实例变量一律以属性声明。

b:其它类要访问的实例变量和方法在.h文件中声明,否则声明于.m文件中。

 c:实例变量及方法以功能块放在一起,实现一个功能的连续着放在一起,另一个功能的空一行开始声明。

 d:实例变量紧接@interface后开始,方法在实例变量后空一行开始。

 e:每个功能块可作简单说明,单个实例变量方法可不作说明,关键的或特殊的变量或方法单独作说明。注释放于变量声明上一行。

5.类中第个功能模块以 #pragma mark -  分隔,上空两行,下空一行。

6.NSLog在测试完成后一律删除。

7.对于系统的常用类作实例变量声明时加入后缀:

 UIViewController:VC

UIImage:Img  UIImageView:ImgView  UIView:View  UILabel:Lbl

UIButton:Btn  UINavigationBar:NBar   UIToolBar:TBar  UISearchBar:SBar

UITextField:TextField  UITextView:TextView

NSArray:Array       NSMutableArray:MArray

NSDictionary:Dict  NSMutableDictionary:MDict

 NSString:Str         NSMutableString:MStr

NSSet:Set       NSMutableSet:MSet

8.程序中变量、方法命名尽量能以字面意思表示功能,对于需要用注释来解释的部分代码,注释以如下格式表述:

/**

* 方法或变量说明

* @param 参数1说明(针对方法)

* @param 参数2说明(针对方法)

* @return 若方法有返回值则对返回值作说明

*/

三、Xcode配置

1.全部统一用ARC。

2.用git管理代码。

3.在项目.pch文件加入一段去除release的NSLog代码:

#ifndef __OPTIMIZE__

#define NSLog(...) NSLog(__VA_ARGS__)

#else

#define NSLog(...) {}

#endif

iOS开发 编码规范的更多相关文章

  1. 【安全开发】IOS安全编码规范

    申明:本文非笔者原创,原文转载自:https://github.com/SecurityPaper/SecurityPaper-web/blob/master/_posts/2.SDL%E8%A7%8 ...

  2. Android开发编码规范(自用)

    转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103),谢谢支持!   Android开发编码规范 目的及指导原则 目的 统一规范 Eclipse编辑环境 ...

  3. ym——Android开发编码规范(自用)

    转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103),谢谢支持! Android开发编码规范 目的及指导原则 目的 统一规范 Eclipse编辑环境下J ...

  4. iOS开发编码建议与编程经验

    作者:乞力马扎罗的雪(GitHub) 原文 在开发过程中,我们不仅要去看别人的代码,也要让别人看我们的代码.那么,有一个良好的编码习惯将会非常重要.下面将会罗列使用Objective-C来开发iOS的 ...

  5. Objective-C开发编码规范【转载】

    概要 Objective-C是一门面向对象的动态编程语言,主要用于编写iOS和Mac应用程序.关于Objective-C的编码规范,苹果和谷歌都已经有很好的总结: Apple Coding Guide ...

  6. 不可小觑的Web开发编码规范

    http://www.csdn.net/article/2013-10-21/2817235-coding-conventions-in-web-development 摘要:编码规范是一套规章制度, ...

  7. Objective-C开发编码规范:4大方面解决开发中的规范性问题

    Objective-C 编码规范,内容来自苹果.谷歌的文档翻译,自己的编码经验和对其它资料的总结. 概要 Objective-C 是一门面向对象的动态编程语言,主要用于编写 iOS 和 Mac 应用程 ...

  8. Objective-C开发编码规范

    Objective-C 编码规范,内容来自苹果.谷歌的文档翻译,自己的编码经验和对其它资料的总结. 概要 Objective-C 是一门面向对象的动态编程语言,主要用于编写 iOS 和 Mac 应用程 ...

  9. PHP开发编码规范

    (转载:https://blog.csdn.net/alexdream/article/details/2213313) 这些年来多从事Linux下PHP和C相关的开发,带过很多项目和团队,下面是根据 ...

随机推荐

  1. 【转】git bash here 右键菜单失效后的修复方法

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\git_shell] @="Git Ba&sh Here"   [ ...

  2. JAVA-基础(六) Java.serialization 序列化

    序 列 化 序列化(serialization)是把一个对象的状态写入一个字节流的过程. Serializable接口 只有一个实现Serializable接口的对象可以被序列化工具存储和恢复.Ser ...

  3. Asp.net HttpWebRequest和HttpWebResponse发送和接受任何类型数据

    发送字符串数据发送数据 string strId = "guest"; "; string postData = "userid=" + strId; ...

  4. tomcat6-endpoint设计

    之前写的一个ppt 搬到博客来

  5. PHP协程是通过生成器实现的,这里测试了PHP生成器的一些特性

    学习PHP的生成器,测试了一些特性.代码如下: function gen() { $name = (yield 'hello'); $nickname = (yield 'world'); yield ...

  6. 解决MySQL版本之间造成的乱码、数据查询不出的问题

    在数据库连接字符串上加  charset=utf8 <connectionStrings> <add name="XJRDSModels" connectionS ...

  7. VirtualBox Host-only Adapter,Failed to create the host-only adapter 转

    不用重装VirtualBox,安装虚拟网卡 今天使用VirtualBox的host-only模式,因为之前把网络连接卸载,这次出现的各种错误. Failed to create the host-on ...

  8. activemq的安装启动

    Activemq安装和启动   官网:http://activemq.apache.org/   安装启动: $ tar -zxvf apache-activemq-5.11.1-bin.tar.gz ...

  9. HDU——1418抱歉(平面欧拉公式)

    抱歉 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  10. LibreOJ2042 - 「CQOI2016」不同的最小割

    Portal Description 给出一个给出一个\(n(n\leq850)\)个点\(m(m\leq8500)\)条边的无向图.定义\(cut(s,t)\)等于\(s,t\)的最小割的容量,求在 ...