我的一个同事总是这样写道:
bob ?: return
bob.department ?: return
bob.department.head ?: return
bob.department.head.name()
可读性是他的论点。这对我来说不是很喜欢 Kotlin,而且过于繁琐。我当然更喜欢:
bob?.department?.head?.name()
一些不使用上层方式的参数/文档/链接会非常有帮助。
我想知道使用upper way是否有任何缺点?另外,我可以想象一些编译器优化不会很好地工作,做上面的方式?
编辑:根据 SVN,历史告诉我们:
if (bob != null) {
if (bob.department != null) {
if (bob.department.head != null) bob.department.head.name()
}
}