我想问一下以下哪种情况更好:
import com.x.x.x.Document;
.
.
Document doc=user.getDoc();
MyFile file=Converter.getFile(doc.getFile());
MyTheme theme=Converter.getTheme(doc.getTheme());
OR
MyFile file=Converter.getFile(user.getDoc().getFile());
MyTheme theme=Converter.getTheme(user.getDoc().getTheme());
由于第一种情况需要导入Document
秒,并且同时第二种情况需要多次调用getDoc()
,所以首先不要这样做,这样才能获得更好的可读性&功能
答案 0 :(得分:3)
第一种样式,带有本地doc
,是优越的,主要是因为它的可读性:如果getDoc()
返回相同的实例,代码的读者就不必猜测(或阅读文档)多次通话,并确保您在完全相同的实例上进行通话。
性能可能是也可能不是问题,具体取决于getDoc()
的实施情况。但是,第一种使用方式(使用doc
)至少与第二种使用方式一样快。
答案 1 :(得分:1)
由于第一种情况需要导入文档第二次不
不确定您的意思:在两个示例中,您都需要引用文档。这两个示例在功能和性能方面相同(假设getDoc
只是一个getter)。
然而,我会使用第一个版本有两个原因:
null
,您将在Document doc = user.getDoc();
上获得一个NPE,因此很明显(在第二个示例中,如果您在MyFile file = Converter.getFile(user.getDoc().getFile());
上获得NPE,则可以要么是用户,要么是null的文档。