Стандарты кодирования в Java
Источник:
Medium
В этой статье вы узнаете, как правильно придерживаться стандартов кодирования в Java.
Java является одним из наиболее широко используемых языков и платформ программирования. Поэтому весьма вероятно, что ваш код будет читаться несколькими людьми. Из этого следует, что код должен быть удобочитаемым и понятным всеми — от новичков до senior-разработчиков.
Наша цель — писать код таким образом, чтобы читатель кода полностью его понимал. Это требует знания и соблюдения стандартов кодирования.
Зачем нужны руководства по написанию кода?
Рекомендации по кодированию важны, потому что значительная часть стоимости программного обеспечения тратится на обслуживание кода. Кроме того, программное обеспечение не всегда разрабатывается одним разработчиком. Следовательно, соблюдение соглашения о написании программного обеспечения повышает удобочитаемость программы.
1. Соглашения об именах: мы обычно следуем соглашению о
CamelCase (верблюжьем регистре) в программировании на Java.
2. Отступ: единицей отступа должно быть 4 пробела и 8 табуляций.
- Применяйте отступ к одинаковым элементам в вертикальном списке (например, к комментариям в конце строки и идентификаторам в объявлениях).
- Окружите бинарные операторы (включая присваивание) пробелами.
- После точки с запятой или запятой следует пробел.
- Добавьте пробел между ключевым словом (“if”, “while”, “return”, “catch”, “switch”, “for”) и последующей скобкой.
- Вставьте пустые строки, чтобы различать важные части кода.
3. Пробелы. Пробелы также играют важную роль в удобочитаемости:
- Операторы должны быть окружены пробелом.
Операторы следует писать так:
a = (b + c) * d;
А не так:
a=(b+c)*d
- За зарезервированными словами Java должен следовать пробел. Например:
Цикл нужно объявлять так:
while (true) {...}
А не так:
while(true){...}
- За запятыми должен следовать пробел. Например:
Функцию нужно объявлять так:
fun(a, b, c, d);
А не так:
fun(a, b, c, d);
- Двоеточия должны быть окружены пробелом. Например:
case нужно объявлять так:
case 100 : break;
А не так:
case 100:break;
- За точками с запятой в операторах for должен следовать символ пробела. Например:
Цикл for нужно объявлять так:
for (i = 0; i < n; i++)
А не так:
for(i=0;i<n;i++)
5. Комментарии: Java-программы могут иметь два типа комментариев.
- Комментарии к реализации ограничены символом //. Для комментариев реализации Java также позволяет использовать /*…*/.
- Блочные комментарии используются для описания файлов, методов, структур данных и алгоритмов.
- Однострочные комментарии могут располагаться на одной строке с отступом до уровня последующего кода. Если комментарий не может быть написан в одну строку, он должен соответствовать формату блочного комментария.
- Конечные (очень короткие) комментарии могут появляться в той же строке кода, который они описывают, но должны быть отделены от кода на значительном расстоянии.
- Комментарии к документации описывают классы, интерфейсы, конструкторы, методы и поля Java. Они разделены /**…*/. Обратите внимание на двойную звездочку ** в начале с одним комментарием для класса, интерфейса или члена. Этот комментарий должен стоять непосредственно перед объявлением без пробела между комментарием и кодом, на который он ссылается. Комментарии к документации можно извлечь в файлы HTML с помощью инструмента javadoc.
/** Это комментарий к Java документации */
private int comments_;
HashMap в Java — особенности использования и методы взаимодействия
Источник:
FreeCodeCamp
Сегодня вы узнаете об особенностях работы с HashMap, о методах взаимодействия с хранящимися в них данными и ряд других полезных рекомендаций.
Каковы особенности HashMap в Java?
Прежде чем работать с HashMap, важно понять некоторые особенности:
- Элементы хранятся в парах ключ/значение (key/value).
- Элементы не сохраняют порядок при добавлении. Данные остаются не упорядочены.
- В случае наличия повторяющихся ключей последний из них имеет приоритет над другим(и).
- Типы данных указываются с использованием классов-оболочек вместо примитивных типов данных.
Как создать HashMap в Java
Чтобы создать и использовать HashMap, вы должны сначала импортировать пакет
java.util.HashMap:
import java.util.HashMap;
Синтаксис при создании нового HashMap:
HashMap<KeyDataType, ValueDataType> HashMapName = new HashMap<>();
А теперь давайте разберем некоторые из терминов в приведенном выше синтаксисе.
- KeyDataType обозначает тип данных всех ключей, которые будут храниться в файле HashMap.
- ValueDataType обозначает тип данных всех значений, которые будут храниться в файле HashMap.
- HashMapName обозначает название HashMap.
Вот пример для более простого понимания терминов:
HashMap<Integer, String> StudentInfo = new HashMap<>();
В этом коде мы создали
HashMap под названием
StudentInfo. Все ключи, хранящиеся в
HashMap, будут целыми числами (Integer), а значения будут строками (String).
Учтите, что при указании типов данных для ключей и значений в HashMap мы работаем с классами-оболочками (wrapper classes), а не с примитивными типами.
Прежде чем мы углубимся в примеры, вот список классов-оболочек и соответствующих им примитивных типов данных в Java:
Классы-оболочки и примитивные типы в Java
WRAPPER CLASSES |
PRIMITIVE DATA TYPES |
Integer |
int |
Character |
char |
Float |
float |
Byte |
byte |
Short |
short |
Long |
long |
Double |
double |
Boolean |
boolean |
При работе с HashMap мы используем только классы-оболочки.
Методы HashMap в Java
А сейчас мы поговорим о некоторых полезных методах, которые вы можете использовать при работе с HashMap. Например, вы узнаете, как добавлять, получать доступ, удалять и обновлять элементы в файле HashMap.
Как добавить элементы HashMap в Java
Чтобы добавить элементы в HashMap, мы используем метод
put(). Он принимает два параметра — ключ и значение добавляемого элемента. Вот пример:
import java.util.HashMap;
class HashMapExample {
public static void main(String[] args) {
HashMap<Integer, String> StudentInfo = new HashMap<>();
StudentInfo.put(1, "Ihechikara");
StudentInfo.put(2, "Jane");
StudentInfo.put(3, "John");
System.out.println(StudentInfo);
// {1=Ihechikara, 2=Jane, 3=John}
}
}
В этом отрывке кода HashMap назван
StudentInfo. Мы указали ключи как целые числа, а значения указаны строками:
HashMap<Integer, String>. Чтобы добавить элементы в HashMap, мы использовали метод
put():
StudentInfo.put(1, "Ihechikara");
StudentInfo.put(2, "Jane");
StudentInfo.put(3, "John");
Мы добавили три элемента, каждый из которых имеет целое число в качестве ключа и строку в качестве значения.
Как получить доступ к элементам в HashMap
Вы можете использовать метод
get() для доступа к элементам, хранящимся в файле HashMap. Он принимает один параметр — ключ элемента, к которому осуществляется доступ. Вот пример:
import java.util.HashMap;
class HashMapExample {
public static void main(String[] args) {
HashMap<Integer, String> StudentInfo = new HashMap<>();
StudentInfo.put(1, "Ihechikara");
StudentInfo.put(2, "Jane");
StudentInfo.put(3, "John");
System.out.println(StudentInfo.get(2));
// Jane
}
}
В приведенном выше примере
StudentInfo.get(2) возвращает значение с ключом
2. При выводе на консоле печатается "Jane".
Как изменить значение элементов в HashMap в Java
Чтобы изменить значение элементов в HashMap, мы используем метод
replace(). Он принимает два параметра — ключ изменяемого элемента и новое значение, которое ему присваивается.
import java.util.HashMap;
class HashMapExample {
public static void main(String[] args) {
HashMap<Integer, String> StudentInfo = new HashMap<>();
StudentInfo.put(1, "Ihechikara");
StudentInfo.put(2, "Jane");
StudentInfo.put(3, "John");
// UИзменить ключ 1
StudentInfo.replace(1, "Doe");
System.out.println(StudentInfo);
// {1=Doe, 2=Jane, 3=John}
}
}
Когда указанному выше
HashMap назначались элементы, элемент с ключом
1 имел значение “Ihechikara”. Мы изменили его значение на “Doe” с помощью метода
replace(): StudentInfo.replace(1, "Doe");.
Как удалить элементы в HashMap Java
Для удаления элемента из файла HashMap можно использовать метод
remove(). Он принимает один параметр — ключ удаляемого элемента.
import java.util.HashMap;
class HashMapExample {
public static void main(String[] args) {
HashMap<Integer, String> StudentInfo = new HashMap<>();
StudentInfo.put(1, "Ihechikara");
StudentInfo.put(2, "Jane");
StudentInfo.put(3, "John");
// Удалить ключ 1
StudentInfo.remove(1);
System.out.println(StudentInfo);
// {2=Jane, 3=John}
}
}
Здесь мы, используя метод
remove(), удалили элемент с ключом
1.
Если же вы хотите удалить все элементы
HashMap сразу, тогда используйте метод
clear():
import java.util.HashMap;
class HashMapExample {
public static void main(String[] args) {
HashMap<Integer, String> StudentInfo = new HashMap<>();
StudentInfo.put(1, "Ihechikara");
StudentInfo.put(2, "Jane");
StudentInfo.put(3, "John");
// Удалить все элементы
StudentInfo.clear();
System.out.println(StudentInfo);
// {}
}
}
Вот еще несколько полезных методов, которые вы можете использовать при работе с HashMap:
- containsKey возвращает true, если указанный ключ существует в файле HashMap.
- containsValue возвращает true, если указанное значение существует в HashMap.
- size() возвращает количество элементов в HashMap.
- isEmpty() возвращает true, если в HashMap нет элементов.
Заключение
В этой статье мы говорили о
HashMap в Java. Сначала мы разобрали особенности файла HashMap и узнали, как взаимодействовать с элементами и хранящимися данными. Также мы ознакомились с примерами кода и некоторыми методами для работы с
HashMap. Удачного кодинга!
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ