目录
编码规范
Chinamobo 编码规范
补充代码规范
注释
///性别
@property (nonatomic, copy) NSString *sex
/**
* 函数功能
*
* @param time 当前时间
*/
- (void)function:(NSString *)time;
在XXXViewController.m中建议加上这样的注释,让别人查看代码时可以一目了然:
#pragma mark - life cycle
#pragma mark - overwrite
#pragma mark - public
#pragma mark - delegate
#pragma mark -- XXX
#pragma mark - notification
#pragma mark -- XXX
#pragma mark - event response
#pragma mark - private
#pragma mark - getter and setter
前缀
给ViewController起名字时统一加上前缀,一般为工程名的首字母简写。如工程名为一账通
,前缀则为YZT
。
给ViewController中的私有方法起名时,加上前缀yzt_
#pragma mark - private
- (void)yzt_privateFunction // 私有方法前加yzt_
{
}
引入其他文件
头文件中:
//头文件能用@class就不要import
实现文件:
// 头文件
#import " YSYGuidelines.h"
// 系统文件
#import <objc/runtime.h>
#import <UIKit/UIKit.h>
// 其他自定义文件
类中属性定义
@interface YSYGuidelines : NSObject
{
NSString *_name //不要出现,use @property instead of
}
/// 顺序nonatomic/atomic strong/weak/assign readonly/readwrite getter/setter
@property (nonatomic, strong) NSString *name;
// 私有变量
@interface YSYGuidelines ()
@property (nonatomic, assign) NSInteger age;
@end
#pragma mark - getter and setter
/// 重写property属性方法
- (NSString *)name
{
if (_name)
{
return _name;
}
_name = @"hello";
return _name;
}
空行和空格
// 其他自定义文件
//私有变量
@interface YSYGuidelines () <UITableViewDataSource>
@property (nonatomic, assign) NSInteger age;
@end
@implementation YSYGuidelines