我在阅读部分Lazyness [原文]在上Twitter的有效斯卡拉页,其中包括这个建议(重点是我的):
使用延迟字段用于此目的[计算和按需缓存值], 但要避免当通过语义需要lazyness使用lazyness。 在这种情况下,最好是明确的 ,因为它使成本模式明确,且副作用可以更精确地控制。
我不明白为什么他们会做出这项声明。 为什么它会更好地避免使用lazy
关键字的情况下,当通过语义要求的懒惰(意思是有必要的正确性在你的程序,而不是仅仅把它作为一种优化)。 我不知道如何编写自己的懒惰初始化代码会提出这样的懒惰,需要比使用更清晰的事实lazy
语言内置的关键字! 我知道有一点参与制作额外的开销lazy
领域线程安全的,但我不认为这是他们在这里得到什么?
是否有一些隐藏的优点本方针上使用的lazy
,我绝对不缺少的,还是我最好还是先忽略这一建议?