The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:
Если мы согласимся, что все локальные переменные должны быть final, необходимо избегать множественных return и временной связи между операторами—мы можем полностью избавиться от переменных и заменить их встроенными значениями и их именами.
Вот код из раздела 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
