Objective-C我的代码规范

作者: Corbin___ | 来源:发表于2017-06-27 10:11 被阅读848次

Objective-C代码规范


前言

代码规范,统一才是最好的,团队开发中切记不要自己搞一套,跟着团队规范走


目录

  • 属性命名
  • 类名命名
  • 方法命名
  • 方法参数命名
  • 分类命名
  • 枚举命名
  • 组织代码

属性命名

小驼峰命名+类型后缀
这里的类型后缀建议全称,例如button就写button不要写btn,原因的话,就是尽量按objective-C的命名原则来,就是尽量看命名就知道是什么意义,不怕冗长

既然选择了她(Objective-C),就要忍受她的原则(清晰但冗长)

// 属性命名:小驼峰+类型后缀
// 优点:看见属性名,可以知道属性的含义和类型
1.注意示例空格位置
2.*号紧跟属性名
3.@property括号内的描述性修饰符,严格按以下顺序书写:原子性,内存管理,读写..
@property (nonatomic, strong) UITextField *textField;

补充:
关于NSString是用strong还是copy类型,如果自己对这个不是很清楚,那么就用copy,如果清楚是strong和copy是怎么回事,并且想提高代码质量,那么就可以自己把握好用strong或copy
相关文章:NSArray、NSMutableArray、copy、strong关系探究

类名命名

基本原则:大驼峰,简明表达命名含义
如果是特点大功能模块下的类,应该以大功能模块大写字母简写作为类名前缀
比如网络请求库的根文件名是NetWork,那么子文件下的相关类,命名应该为NW做为前缀


// 根文件名字
NetWork
// 子文件的命名可为
NWHttpRequest

方法命名

注意点:
1.如果是工具类方法,一定要在方法前加注释(快捷键:option+command+/)
2.多参数方法,冒号对齐
3.注意实例的空格

//执行性的方法以动词开头
- (void)replaceObjectAtIndex:(NSUInteger)index 
                  withObject:(id)anObject;

// 返回性的方法以返回内容开头
+ (id)arrayWithArray:(NSArray *)array;
// 还有一种,也可以用get开头命名

方法参数命名

方法参数的命名,有人喜欢前缀加m,我个人的话,建议方法参数尽量简短,原因,一般知道大概意思就可以了,因为冗长的话,这个接口很长啊,而且接口习惯注释返回值,参数,所以个人建议参数简短,局部变量也可以简短

/**
 设置RGB,返回UIColor类型

 @param mR red
 @param mG green
 @param mB blue
 @param mAlpha 透明度
 @return UIColor类型
 */
- (UIColor *)setColorWithRed:(int)mR
                       green:(int)mG 
                        blue:(int)mB
                       alpha:(CGFloat)mAlpha {
    
    return  [UIColor colorWithRed:mR/255.0 green:mG/255.0 blue:mB/255.0 alpha:mAlpha];
    
}


分类命名

类名:肯定要加前缀,避免跟第三方库重名
方法名:前缀_(前缀加下划线)

这里说个我个人的习惯,
普通方法的命名是cor_xxx,
但是如果是set或者get的命名的话,
我比较喜欢set_corXxxx或者get_corXxxx

// 处理数据越界分类
#import <Foundation/Foundation.h>

@interface NSArray (CorArrayBeyond)

- (void)set_corAge;

@end

枚举命名

oc的枚举有个特点,就是长,那么我们枚举的目的就是要长到替代注释最好了,这样别人就不用回去看注释

typedef NS_ENUM(NSInteger, CorRepaymentState){
    CorRepaymentUnReceive = 1,
    CorRepaymentReceived,
    CorRepaymentPreReceive,
    CorRepaymentOverDueReceive,
};

代码组织

推荐博文: iOS应用架构谈 view层的组织和调用方案

 #pragma mark - tableView 进行分段,便于代码维护和阅读

相关文章

  • 小肤iOS开发代码规范_v1.0

    For Objective-C , 2018.8.2 Ⅰ.前言Ⅱ.命名规范Ⅲ.代码注释规范Ⅳ.代码格式化规范Ⅴ....

  • Objective-C代码规范

    团队的Objective-C代码规范。本文主要内容来自raywenderlich.com Objective-C编...

  • Objective-C我的代码规范

    Objective-C代码规范 前言 代码规范,统一才是最好的,团队开发中切记不要自己搞一套,跟着团队规范走 目录...

  • iOS 代码规范

    iOS规范:仅适用于iOS的代码规范(使用Objective-C语言)。 一.代码应该简洁易懂,逻辑清晰 不要过分...

  • iOS代码规范

    iOS代码规范 一、前言 本规范基于Google Objective-C Style Guide和百度Object...

  • 代码规范

    苹果代码规范 禅与 Objective-C 编程艺术 (Zen and the Art of the Object...

  • Objective-C编程规范

    引言 背景 Apple官方的代码规范, 供补充参考: The Objective-C Programming La...

  • 2020-07-24

    # 纽约时报 移动团队 Objective-C 规范指南 这份规范指南概括了纽约时报 iOS 团队的代码约定。 #...

  • iOS(Objective-C)编码规范

    iOS(Objective-C)编码规范 本文件旨在统一****iOS方向编码规范。增强代码可读性,便于后期维护。...

  • OC编码风格规范

    纽约时报 移动团队 Objective-C 规范指南 这份规范指南概括了纽约时报 iOS 团队的代码约定。 介绍 ...

网友评论

  • CloudL:很不错,收藏先
  • 891624749a2c:看到nsstring用strong就有点看不下去了
    Corbin___:@不知蜕变的挣扎 是有错误吗??指教下
    不知蜕变的挣扎:@陈泽槟 颠覆三观。。。
    Corbin___:@test4345 NSString不是一定用copy的,对于字符串的set方法,底层是会进行一次判断的(if),判断是可变类型还是不可变类型,如果是可变类型,那么就进行copy(深复制)。如果是不可变类型那个就用strong(浅复制),所以,对于一个大型项目来说,如果操作好string是用copy还是strong,还是可以提高性能的;如果你的NSString被赋值的时候,有可能被可变字符串赋值,那么你不想它改变就用strong....自己去深究吧
  • e43e5251876a:惊叹:竟然还有人说参数对齐是规范写法。老乔的棺材盖快压不住了
    Corbin___:@Only_Here 看个人习惯,超过三个参数,参数冒号对齐,看apple的源码也是这样
  • 你看见我的小象了吗:我的建议啊,类名、方法名、变量名,写的足够优秀。
    尽量少写注释,要写注释也用英文写
    你看见我的小象了吗:@陈泽槟 可以这么理解。个人要求习惯不同而已,不过你的很棒,向您学习
    Corbin___:@你看见我的小象了吗 公司团队开发规范而已,所以只是对公司适用,写英文注释除非是写框架而且想给外国小伙伴看到
  • 吾名唐宋:写的不错,还好自己平时挺规范的,还有个小细节,那个冒号对齐,自己手敲的吗
    Corbin___:@吾名唐宋 不用,你直接换行,会自动冒号对齐
  • 花样棉花:写的真棒👍
    nil_C:@孤独总是那么可怕 hahhhh
    花样棉花: @陈泽槟 不是,我残疾人士😘
    Corbin___:@孤独总是那么可怕 你是做iOS开发的吗

本文标题:Objective-C我的代码规范

本文链接:https://www.haomeiwen.com/subject/viwscxtx.html