打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Objective C 代码规范-iOS总结版
===========================

一,关于空行

A:.h中的空行

1,文件说明与头文件包涵(#import)之间空1行

2,头文件包涵(#import)之间,如果需要分类区别,各类别之间空1行

3,头文件包涵(#import)与@class之间空2行

4,@interface与@class之间空一行

5,头文件{}里面,空1行开始声明对象成员,如果需要分类区别,各类别之间空1行

6,{}外空1行,书写属性,如果需要分类区别,各类别之间空1行

7,空1行开始写方法,如果需要分类区别,各类别之间空1行

8,方法完成后,空1行@end

9,如果需要声明protocal,空2行接着写。通常protocal写在@end后面,但是声明在@interface前面,也可以另写一个文件

 

B:.m中的空行

1,文件说明与头文件包涵(#import)之间空1行

2,头文件包涵(#import)之间,如果需要分类区别,各类别之间空1行

3,@implementation和@synthesize之间空一行,@synthesize不要使用逗号(,)如果需要分类区别,各类别之间空1行

4,@synthesize与方法之间空2行

5,各方法之间空2行

 

C:方法里面的空行

1,方法名后空1行开始写

2,变量声明后需要空1行,如果需要分类区别,各类别之间空1行

3,条件,循环,选择语句,整个语句结束,需要空1行

4,各功能块之间空1行

5,最后一个反括号之前不空行

6,注释与代码之间不空行

7,#pragma mark与方法之间空1行

 

二,关于空格

1,.h中协议<>前面有1个空格

2,.h中成员声明时,类型与变量之间有至少1各空格。星号(*)靠近变量,不靠近类型。(部分习惯,所有变量可以以*对齐,中间留空)

3,@property后有1各空格,()里面,逗号后有1个空格,括号外,先留1个空格,再声明属性

4,方法+,-后,与()之间有1个空格

5,返回类型与*之间有1个空格,方法参数中返回类型与*之间有1个空格

6,多参数的方法,每一个参数后面都有1个空格

 

三,关于布尔值

1,不要用if(obj==nil){},而用if(!obj){}

2,比较时把常量放前面可以避免错误

不要用if(aIntValue==255){},而用if(255==aIntValue){},避免漏掉一个“=”,而变成赋值

3,不要用if(aBool==YES){},直接用if(aBool){}或if(!!aBool){}

 

四,变量属性名和其它

1,尽量在使用的时候才声明变量,尽量少用全局变量

2,变量名不要只使用一个字母,尽量能表示变量的意思

3,@synthesize和@dynamic,应该放在类实现的最上面,每一个声明都单独一行

4,协议protocls需要加#pragam marks-来区分

5,释放时应该[obj release],obj = nil; delegate也应该在dealloc里面delegate = nil;

 
以上是我的一些总结



===========================
iOS代码规范(整理几点)

http://www.cnblogs.com/colinhou/p/3736034.html
1、当参数过长时,每个参数占用一行,以冒号对齐。
//实际上是对齐的,copy过来后有些变形

- (void)writeFisrtNumber:(NSString *)firstStr

          withNextNumber:(NSString *)nextStr

          withLastNumber:(NSString *)lastStr

{

    

 

}

2、如果方法名比参数名短,每个参数占用一行,至少缩进4个字符,且为垂直对齐(而非使用冒号

对齐)。如:
//实际上是对齐的,copy过来后有些变形

- (void)writeA:(NSString *)firstStr

        withBBBBBBBBBBB:(NSString *)nextStr

        withCCCCCC:(NSString *)lastStr

{

    

}

3、 如果类声明中包含多个protocal,每个protocal占用一行,缩进2个字符。如:

@interface RootViewController : UITableViewController<</p>

UITableViewDelegate,

UITableViewDataSource,

UITextFieldDelegate,

UITextViewDelegate

 

>{

……

}

4、注释: 注释可以采用’ 和’ //’两种注释符号,涉及到多行注释时,尽量使用  ’。

5、方法前面的注释遵循以下格式:如果某项没有,则以N/A表示(此处为copy内容,说句实话,自己也没这么仔细的写过,但感觉部分关键方法这样写,很有必要,让看你代码的人不用太费力)

例如:

iOS代码规范(整理几点)

iOS代码规范(整理几点)

6、关于空行(安排好了,确实很美观,还有一点就是这样能区分项目组不同成员写的代码,密疏安排也是一种美)

a)  .h中的空行

      文件说明与头文件包含(#import)之间空1行

头文件包含(#import)之间,如果需要分类区别,各类别之间空1行。

头文件包含(#import)与@class之间空2行。

@interface与@class之间空1行。

头文件{}里面,空1行开始声明对象成员,如果需要分类区别,各类别之间空1行。

头文件{}外,空1行书写属性,如果需要分类区别,各类别之间空1行。

属性下面空1行开始写方法,如果需要分类区别,各类别之间空1行。

方法完成后,空1行@end。

如果需要声明protocol,空2行接着写。通常protocol写在@end后面,但是声明在@interface之前。

b).m中的空行

文件说明与头文件包含(#import)之间空1行

头文件包含(#import)之间,如果需要分类区别,各类别之间空1行。

@implementation和@synthesize之间空1行,如果需要分类区别,各类别之间空1行。

@synthesize与方法之间空1行。

方法与方法之间空1行。

C) 方法里面的空行

变量声明后需要空1行,如果需要分类区别,各类别之间空1行。

条件、循环,选择语句,整个语句结束,需要空1行。

各功能快之间空1行。

最后一个括弧之前不空行。

注释与代码之间不空行。

#pragmamark 与方法之间空1行。

d) 每行代码最多不得操作100个字。设置如下:Xcode=> Preferences => TextEditing

=> Page Guide at column /输入100即可。

7、对于一些特殊类型的变量,命名时要带上类型,如NSArray的变量命名为xxxArray,其他的如xxxDictionaryxxxSize等。这样就可以从名称上知道是什么类型的变量。千万不能将NSArray的变量命名为xxxDictionary。

8、常量

1)  避免在程序中直接出现常数,使用超过一次的应以宏定义的形式来替代。

2)  常数的宏定义应与它实际使用时的类型相一致。如以3.0来定义浮点类型,用3表示整型。

3)  常量的命名应当能够表达出它的用途,并且用大写字母表示。

例如:

#definePI 3.1415926


总结,规范其实就是让你养成一种良好习惯的标杆,在此面前我们应该顺从。



===========================
http://www.cnblogs.com/colinhou/p/3736034.html

Objective-C代码规范


Objective-C 代码规范(Code Style)

    我们写出来的代码会给很多人看,为了使代码清晰简洁,方便阅读理解,都会统一遵从一定的代码规范,Objective-C同样如此。

    主要参考规范:

    1.Google Objective-C Style Guide

    2.Coding Guidelines for Cocoa

    简单总结一下目前接触到的:

    1.代码行度最大为100列(C++的是80)

    

     2.声明类或方法时,注意空格的使用,参数过多时可换行保持对齐,

     

     调用方法时也是如此,参数都写在一行或换行冒号对齐,

     

    3.命名规则   

     类名首字母大写,方法首字母小写,方法中的参数首字母小写,同时尽量让方法的命名读起来像一句话,能够传达出方法的意思,同时取值方法前不要加前缀“get”

     

     变量名小写字母开头

      

     常量以小写字母k开头,后续首字母大写

     

    4.关于注释

     注释很重要,但除了开头的版权声明,尽可能把代码写的如同文档一样,让别人直接看代码就知道意思,写代码时别担心名字太长,相信Xcode的提示功能。

    5.实例变量应该在实现文件.m中声明或以@property形式在.h文件中声明,一定要直接在.h文件声明,加上@priavte,另外,使用@private、@public,前面需要一个缩进空格。

    6.尽可能保证 .h文件的简洁性,可以不公开的API就不要公开了,写在实现文件中即可。

    7.Xcode支持Objective-C/C/C++混编,所以引用头文件时:#import Ojbective-C/Objective-C++头文件(Objective-C++是Objective-C与C++混编的文件),#include C/C++头文件。

    8.写delegate的时候类型应该为weak弱引用,以避免循环引用,当delegate对象不存在后,我们写的delegate也就没有存在意义了自然是需要销毁的,weak与strong可以参考上一篇文章介绍。

    

    9.实例变量声明时变量名前面加下划线“_”,局部变量不用加。

    

    

    10.使用Block时,内容四个空格缩进,“^”后带有参数时,参数与“{”之间有一个空格缩进

    

    11.建议使用“#pragma mark”,方便阅读代码

    

    其他详细参考两个规范说明,Coding Guidelines for Cocoa 还列举了详细的命名要求。




===========================






===========================






===========================






===========================






===========================
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Objective
单片机C51编程规范
C语言编程规范 – 嗨!大佟!
C#编码规范(1.0)
说说Python编码规范
C#程序书写规范
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服