iOS开发整理

一,变量命名部分

苹果代码规范(Coding Guidelines for Cocoa)中提到的变量命名规范范围定得比较模糊,为了让代码更加清晰可读,在后期维护时候不需要花费太多精力在“猜”代码意图上面,我觉得有必要进行一些补充。

基础要求:

1,小驼峰原则,如: 

NSString* fooBar

2,变量是个名词(以一个有意义的名词结尾):

//错误
NSString* nameForRole;

//正确
NSString* roleName;

这里表达同一个意思,没必要夹一个介词。


3,变量应该说明它是什么:

//错误
NSArray* dataForShow;
//正确
NSArray* showsRoles; // roles 可以换成 person 或者其他有意义单词



二,方法调用部分

1,解析json时候尽量直接避免使用 integerValue,stringValue,建议写个 category,实现 stringForKey integerForKey 方法返回确定类型。

2,包括但不限于NSDictionary的 setObject: forKey: 时候 必须对 object key 判空,除非参数一定不为空。

3,返回id类型的容器,取出元素之后要对类型进行判断再使用,例如:

Foo* foo = [foos firstObject];
if (![foo isKindOfClass:[Foo class]]) {
    return;
}
4,取数组元素必须保证下标不越界


三,注释规范

代码本身应该具备自注释能力,没必要的注释一定不要写,应该写的注释也一定不能不写。注释不应该用来解释“这个是什么”,而应该解释"为什么这么做"。

“这个是什么”,应该在变量命名,函数命名时候做到这些,如果命名时候表达有限,也可以适当写上注释补充说明。

"为什么这么做",例如在写算法逻辑的时候,函数命名已经写清楚这个函数的目的,但是运算得到结果的过程可能在别人维护的时候很难理解,加上适当的说明,

在维护时候会提供很大的帮助。


持续更新中,如果你有任何想法或者建议,请邮件给我留言,谢谢 ^_^

你可能感兴趣的:(iPhone开发)