做开发的知道每种语言都有自己的命名规范,比如C语言的变量下划线式命名等等。iOS开发中用Objective-C语言开发,今天在开发中遇到一个命名的问题,看来又得熟读OC的命名规范了。
问题如下:
|
|
OC中属性命名不能以关键字开头。嗯,改个符合规范的命名即可。
(本文会继续完善规范……)
2018年08月11日12:21:40
距离上次已经很久了,今天又看了苹果coding naming guidelines,收获良多。根据原文大概总结一下于此。
Cocoa代码编写命名指南(基本是翻译过来加上自己的理解)
变量命名
- 词要达意(新东家的命名指南有一条说是要用美式英语而不是英式英语,这一条印象深刻。比如用
color
而不是colour
,毕竟美帝还是这个星球最牛逼的国家) - 不要用缩写,即使它很长。(这条苹果考虑了不同文化背景的编程人员,贴心。但是一些历史悠久的缩写比如Alt-alternate, Ctrl-control还是可以使用的,这个界定的关键也不好说,苹果列出了一些缩写词语,真正还要自己把握)
- 保留二字前缀(代码使用前缀很好很重要。两个字母的前缀少用,以免未来与苹果发生冲突,最好使用仨字母的那种)
- 变量不要指代自己本身(比如命名一个
NSString
,就不要命名为某某String之类的) - 避免冲突(比如
tag
,这个变量在很多UIKit
的控件都有,不要使用)
类和协议命名
- 类的命名要包括一个名词明确的指代代表什么,有合理的前缀。苹果的代码就是最好的示例。比如
NSDate
,NSSring
等等。 - 协议的命名需要根据一组共同的行为来确定。为了避免与类名冲突,最好的解决方法是加
ing
。比如NSLocking
协议和类NSLock
。不过大部分是加一个Delegate
完事儿……