The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:
如果我们同意所有局部变量都必须是 final
,必须避免多次返回,并且语句之间的时间耦合是有害的——我们可以完全摒弃变量,用内联值和它们的代号来替代它们。
这是我书籍《Elegant Objects》第5.10节(算法)中的代码:
请注意变量secret
。它在这里存在是因为我们需要它的值两次:首先作为Diff
的构造函数参数,然后作为Farewell
的构造函数参数。我们不能通过创建两个单独的Secret
类实例来内联该值,因为它必须是同一个对象—它封装了我们在猜数字游戏中对用户隐藏的数字。
在其他许多情况下,可能需要多次使用一个值,同时保持不可修改。从技术上讲,如果这些值实际上是常量,为什么我们仍然称它们为变量呢?
我建议我们为这些值引入”别名”,通过as
关键字进行赋值。例如:
这里的 new Secret()
是内联值,而 secret
是它的 别名,我们在几行后使用它。
在Java中拥有这个功能会很棒,对吧?
Translated by ChatGPT gpt-3.5-turbo/42 on 2023-11-18 at 05:07