Java: Именование переменных
greeting служит примером простого и понятного имени переменной. Но часто имен вроде name, email или price оказывается недостаточно. Например, нужно описать имя пользователя, общее количество заказов, максимальную длину сообщения. Такие имена уже состоят из нескольких слов. Как в таком случае будет выглядеть имя переменной?
В разных языках программирования используются разные стили именования. От этого зависит, как будет выглядеть составное имя. Например, вот как можно записать переменную, которая хранит максимальную длину сообщения:
maxmessagelengthmaxMessageLengthmax-message-lengthmax_message_length
Основные стили
В именовании переменных можно выделить четыре основных подхода. Все они проявляют себя, когда имя состоит из нескольких слов:
-
kebab-case: слова разделяются дефисом, например
max-message-length.В Java не работает, потому что дефис воспринимается как оператор вычитания.
-
snake_case: слова разделяются подчеркиванием, например
max_message_length. -
CamelCase (или UpperCamelCase): каждое слово с заглавной буквы без разделителей, например
MaxMessageLength. -
lowerCamelCase: то же самое, но первое слово начинается со строчной буквы, например
maxMessageLength.
Как правильно в Java
Для имен переменных в Java принят стиль lowerCamelCase. Слова соединяются друг с другом, и каждое слово кроме первого пишется с заглавной буквы:
var userName = "Daenerys";
var maxLength = 280;
var totalOrdersCount = 17;- Первое слово начинается со строчной буквы
- Каждое следующее слово начинается с заглавной буквы
- Разделителей между словами нет
Посмотрим на это в коде:
var firstName = "John";
System.out.println(firstName); // => John
var playerNumber = 24;
System.out.println(playerNumber); // => 24Как не надо
Не стоит включать тип данных в имя переменной. Такие имена хуже читаются и быстро устаревают. Например, userNameString или messagesNumber описывают не смысл переменной, а ее техническую реализацию.
Имя должно отвечать на вопрос "что хранится?", а не "какого это типа?". Поэтому лучше писать userName вместо userNameString и messagesCount вместо messagesNumber.
Задание
Создайте две переменные с именами «первое число» и «второе число» на английском языке, используя lowerCamelCase. Запишите в первую переменную число 11, во вторую — -100. Выведите на экран произведение чисел, записанных в получившихся переменных.
-1100Код будет работать с любыми названиями, а наша система всегда проверяет только результат на экране, поэтому выполнение этого задания — под вашу ответственность.
Полезное
Java: Именование переменных
greeting служит примером простого и понятного имени переменной. Но часто имен вроде name, email или price оказывается недостаточно. Например, нужно описать имя пользователя, общее количество заказов, максимальную длину сообщения. Такие имена уже состоят из нескольких слов. Как в таком случае будет выглядеть имя переменной?
В разных языках программирования используются разные стили именования. От этого зависит, как будет выглядеть составное имя. Например, вот как можно записать переменную, которая хранит максимальную длину сообщения:
maxmessagelengthmaxMessageLengthmax-message-lengthmax_message_length
Основные стили
В именовании переменных можно выделить четыре основных подхода. Все они проявляют себя, когда имя состоит из нескольких слов:
-
kebab-case: слова разделяются дефисом, например
max-message-length.В Java не работает, потому что дефис воспринимается как оператор вычитания.
-
snake_case: слова разделяются подчеркиванием, например
max_message_length. -
CamelCase (или UpperCamelCase): каждое слово с заглавной буквы без разделителей, например
MaxMessageLength. -
lowerCamelCase: то же самое, но первое слово начинается со строчной буквы, например
maxMessageLength.
Как правильно в Java
Для имен переменных в Java принят стиль lowerCamelCase. Слова соединяются друг с другом, и каждое слово кроме первого пишется с заглавной буквы:
var userName = "Daenerys";
var maxLength = 280;
var totalOrdersCount = 17;- Первое слово начинается со строчной буквы
- Каждое следующее слово начинается с заглавной буквы
- Разделителей между словами нет
Посмотрим на это в коде:
var firstName = "John";
System.out.println(firstName); // => John
var playerNumber = 24;
System.out.println(playerNumber); // => 24Как не надо
Не стоит включать тип данных в имя переменной. Такие имена хуже читаются и быстро устаревают. Например, userNameString или messagesNumber описывают не смысл переменной, а ее техническую реализацию.
Имя должно отвечать на вопрос "что хранится?", а не "какого это типа?". Поэтому лучше писать userName вместо userNameString и messagesCount вместо messagesNumber.
Задание
Создайте две переменные с именами «первое число» и «второе число» на английском языке, используя lowerCamelCase. Запишите в первую переменную число 11, во вторую — -100. Выведите на экран произведение чисел, записанных в получившихся переменных.
-1100Код будет работать с любыми названиями, а наша система всегда проверяет только результат на экране, поэтому выполнение этого задания — под вашу ответственность.
Полезное
Ваше упражнение проверяется по этим тестам
import static org.assertj.core.api.Assertions.assertThat;
import java.io.ByteArrayOutputStream;
import java.io.FileDescriptor;
import java.io.FileOutputStream;
import java.io.PrintStream;
class AppTest {
public static void main(String[] args) {
final var expected = "-1100";
ByteArrayOutputStream out = new ByteArrayOutputStream();
System.setOut(new PrintStream(out));
App.main(null);
final var actual = out.toString().trim();
System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out)));
System.out.println(actual);
assertThat(actual).isEqualTo(expected);
}
}Решение учителя откроется через:
20:00
