我经常看到这样的代码:
// Approach 1
if(data != nil){
// Do this and that
}
当人们可以像这样进行检查时:
// Approach 2
if(data){
// Do this and that
}
对我而言,第二种方法似乎更好,因为它更短更容易阅读。
那么为什么要使用第一种方法呢?
答案 0 :(得分:5)
这主要是一种风格偏好,或者有些人不知道可以使用第一种解决方案。
此外,它们是像java这样的语言,你无法编写第二个解决方案,你必须编写yourVar!= null
答案 1 :(得分:4)
这完全取决于编码偏好。有些人可能会觉得较长的形式对于意图更为明确,有些则认为它过于冗长。
答案 2 :(得分:1)
像Java这样的语言要求括号内的条件是布尔表达式。在这些语言中,你必须拼写你在方法1中所做的事情。如果你发现自己从语言跳到语言,那么我发现更容易坚持这种方法。你有一种方法可以在所有语言中相对一致地工作。
第二种方法更紧凑,有些人发现它更容易阅读。它同样有效,并且可能更常用于C / C ++ / Objective-C开发人员。如果您专门使用这些基于C语言的语言,则可能更适合您使用。即使您选择不使用基于C语言的方法2,也可以在看到其他人的代码时习惯看到它。
答案 3 :(得分:1)
你忘记了第三种方法,我使用了很多:
if( !data ) {
return;
}
与其他人一样,很多都是风格......很多都取决于编译器支持。输入类似C#和Java的安全语言可以:
if( data == null ) {
return;
}
目标c编译器将允许这种类型的“语法糖”,其他人不会。我的意见是利用编译器提供的任何功能,并尝试使代码尽可能地为下一个人提供可读性;)