В одной Java книге, которую я прочитал «В общем, хорошая идея всегда объявлять переменные как конечные, а константные поля как stati c final, если их не нужно переназначать« . Я начал следовать этому совету. Но когда я начал кодировать, я обнаружил, что почти все мои переменные являются неизменяемыми. Но использование ключевого слова «final» делает строки длиннее, и в результате сложнее читать код, что противоречит принципам чистого кода. Итак, вот мои вопросы:
- Является ли хорошей практикой делать все неизменяемые переменные «окончательными»?
- Используете ли вы модификатор «финал» для всех ваших неизменяемых переменных в своих программах? ?
- Если нет, когда вы используете «final» и когда пропускаете использование этого ключевого слова?
Вот пример моей программы из репозитория Code Coach . Все переменные являются окончательными. Такая же ситуация почти во всех других программах в хранилище.
import java.util.Scanner;
public class NoNumerals
{
public static void main(String[] args) {
final var input = new Scanner(System.in);
final var phrase = input.nextLine();
final String[] numbers = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"};
final var updatedPhrase = new StringBuilder();
for (final var word : phrase.split(" ")) {
try {
final int number = Integer.parseInt(word);
if (number >= 0 && number <= 10) {
updatedPhrase.append(numbers[number]);
} else {
updatedPhrase.append(word);
}
} catch (NumberFormatException nfe) {
updatedPhrase.append(word);
}
updatedPhrase.append(" ");
}
System.out.print(updatedPhrase);
}
}