Zen Book - 条件语句

禅与Objective-C编程艺术中文版

好的代码有一些特性:简明,自我解释,优秀的组织,良好的文档,良好的命名,优秀的设计以及可以被久经考验。

本书的一个理念是是代码的清晰性优先于性能,同时阐述为什么应该这么做。

1. 条件语句体应该总是被大括号包围。

2. 不要使用尤达表达式

推荐: if ([myValue isEqual:@42]) { ...

不推荐: if ([@42 isEqual:myValue]) { ...

3. nil 和 BOOL 检查

nil 是 解释到 NO,所以没必要在条件语句里面把它和其他值比较。同时,不要直接把它和 YES 比较,因为 YES 的定义是 1, 而 BOOL 是 8 bit的,实际上是 char 类型。

同时这样也能提高一致性,以及提升可读性。

4. 黄金大道

在使用条件语句编程时,代码的左边距应该是一条“黄金”或者“快乐”的大道。 也就是说,不要嵌套 if 语句。使用多个 return 可以避免增加循环的复杂度,并提高代码的可读性。因为方法的重要部分没有嵌套在分支里面,并且你可以很清楚地找到相关的代码。

5. 复杂的表达式

当你有一个复杂的 if 子句的时候,你应该把它们提取出来赋给一个 BOOL 变量,这样可以让逻辑更清楚,而且让每个子句的意义体现出来。

6. 三元运算符

三元运算符 ? 应该只用在它能让代码更加清楚的地方。 一个条件语句的所有的变量应该是已经被求值了的。

你可能感兴趣的:(Zen Book - 条件语句)