想做一名ios开发工程师,代码命名不规范是一种不专业的表现,因为ios开发工程师们学出来的代码会给很多人看,为了使代码清晰简洁,方便阅读理解,都会统一遵从一定的代码规范,Objective-C同样如此。
简单总结一下目前接触到的:
1、代码行度最大为100列(C++的是80)
2、声明类或方法时,注意空格的使用,参数过多时可换行保持对齐,调用方法时也是如此,参数都写在一行或换行冒号对齐。
3、命名规则
类名首字母大写,方法首字母小写,方法中的参数首字母小写,同时尽量让方法的命名读起来像一句话,能够传达出方法的意思,同时取值方法前不要加前缀“get”
- (void)chooseCardAtIndex:(NSUInteger)index;
变量名小写字母开头
Int :chosenButtonIndex=[self.cardButtons indexOfObject:sender];
常量以小写字母k开头,后续首字母大写
Static const NSString* KLNVecServiceString
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也就没有存在意义了自然是需要销毁的。
@property (nonatomic,weak) id<SecondViewControllerDelegate> delegate;
9.实例变量声明时变量名前面加下划线“_”,局部变量不用加。
10.使用Block时,内容四个空格缩进,“^”后带有参数时,参数与“{”之间有一个空格缩进
11.建议使用“#pragma mark”,方便阅读代码
其他详细参考两个规范说明,Coding Guidelines forCocoa 还列举了详细的命名要求。