Java для автоматизаторов
  • Introduction
  • Java. Введение
    • Java как язык и платформа
    • Установка и настройка
  • Язык Java. Основы
    • Hello World
    • Переменные
    • Типы данных
    • Строки
    • Циклы "while" / "do ... while"
    • Циклы "for"
    • Условный оператор "if / if ... else"
    • Условный оператор "switch"
    • Массивы
    • Задания к главе
  • ООП в Java
    • Классы и объекты
    • Методы
    • Свойства
    • Параметры методов
    • Ключевое слово this
    • Конструктор
    • Модификаторы static и final
    • StringBuffer
    • Метод toString()
    • Метод equals()
    • Наследование
    • Пакеты
    • Интерфейсы
    • Модификаторы Public, Private и Protected
    • Полиморфизм
    • Инкапсуляция
    • Использование обобщений
    • Generics and Wildcards
    • Анонимные классы
    • Исключения
    • Множественные исключения
    • Абстрактные классы
    • Вложенные классы
    • Тип Enum
    • Задания к главе
  • Коллекции
    • ArrayList
    • Linked Lists
    • HashMap
    • Sets (Множества)
    • Sorted Maps
    • Задание порядка в множестве ( natural ordering )
    • Очередь (Queue)
    • Использование итераторов
    • Создание объектов, реализующих интерфейс Iterable
    • Задания к главе
  • Стиль написания кода
    • Структура файла
    • Файлы-исходники
    • Открывающие комментарии
    • Сведения о пакете и импорте
    • Объявление классов и интерфейсов
    • Длина строки
    • Переносы строк
    • Переносы в объявлении методов
    • Переносы в операторе if
    • Переносы в тернарных операциях
    • Виды комментариев
    • Блочные комментарии
    • Однострочные комментарии
    • Комментарии в конце строки
    • Объявления (Декларации)
    • Операторы
    • Пропуски
    • Конвенция именования
    • Задания к главе
  • Работа с файлами
    • Работа с текстовыми файлами
    • Работа с XML файлами
    • Работа с JSON файлами
    • Property-файлы
    • Задания к главе
  • Log4j - система логирования сообщений в Java
    • Начало работы
    • Конфигурационные файлы
    • Стандартные аппендеры
    • Задания к главе
  • Юнит тестирование
    • JUnit vs TestNG. Основные аннотации
    • JUnit vs TestNG. Примеры тестов
      • Exception тесты
      • Ignore тесты
      • Тест с таймаутом
      • Тест сьюты
      • Параметризованные тесты
      • Зависимые тесты
      • Многопоточность
    • Asserts
    • Использование "заглушек" (Mocks)
  • Build инструменты
    • Build инструменты
    • Примеры конфигураций
  • Системы контроля версий. Git
    • Системы контроля версий. Git
    • Git. Установка
    • Git. Основы
    • Git. Основные команды
      • Настройка
      • Работа с репозиторием
      • Работа с удаленным сервером
      • Работа с ветками
Powered by GitBook
On this page
  • Простые операторы
  • Составные операторы
  • Оператор return
  • Операторы if, if-else, if else-if else
  • Оператор for
  • Оператор while
  • Оператор do-while
  • Оператор switch
  • Операторы try-catch
  1. Стиль написания кода

Операторы

Простые операторы

Каждая строка должна содержать максимум один оператор:

++argv;         // Хорошо
--argc;         // Хорошо
++argv; --argc; // ПЛОХО!

Составные операторы

Составные операторы, это такие операторы, которые содержат список операторов, заключенных в фигурные скобки "{ statements }".

  • Вложенные операторы должны иметь отступ на один уровень больше, чем составной оператор.

  • Открывающая скобка должна стоять в конце строки, начинающей составной оператор; закрывающая скобка должна стоять в начале строки и иметь отступ, такой же, как и составной оператор.

  • Фигурные скобки окружают все операторы, даже одиночные, если они являются частью структуры, такой как if-else или for. Таким образом проще добавлять новые операторы, не допуская ошибок, возникающих из-за забытых скобок.

Оператор return

Оператор return со значением не должен использовать ссылку на родителя, если только это не сделает возвращаемое значение более очевидным:

return;

return myDisk.size();

return (size ? size : defaultSize);

Операторы if, if-else, if else-if else

Все операторы типа if-else должны иметь следующий вид:

if (condition) {
    statements;
}

if (condition) {
    statements;
} else {
    statements;
}

if (condition) {
    statements;
} else if (condition) {
    statements;
} else {
    statements;
}

Примечание: Оператор if следует всегда писать с фигурными скобками {}. Избегайте следующей ошибки:

if (condition) //ПЛОХО! ОТСУТСТВУЮТ СКОБКИ {}!
    statement;

Оператор for

Оператор for должен иметь следующий вид:

for (initialization; condition; update) {
    statements;
}

Пустой цикл for (в котором вся работа выполняется на стадии инициализации, проверки условия и инкрементирования) должны иметь следующий вид:

for (initialization; condition; update);

Оператор while

Оператор while должен иметь следующий вид:

while (condition) {
    statements;
}

Пустой цикл while должен иметь следующий вид:

while (condition);

Оператор do-while

Оператор do-while должен иметь следующий вид:

do {
    statements;
} while (condition);

Оператор switch

Оператор switch должен иметь следующий вид:

switch (condition) {
case ABC:
    statements;
    /* falls through */
case DEF:
    statements;
    break;
case XYZ:
    statements;
    break;
default:
    statements;
    break;
}

Всякий раз, если case предполагает автоматический переход к следующему (отсутствует оператор break), добавляйте комментарий в том месте, где должен быть break. Это показано в примере выше: комментарий /* falls through */.

Каждый оператор switch должен содержать default вариант. Ставить break в инструкции default необязательно, но это защищает от возможной ошибки в будущем, если впоследствии добавят еще операторы case ниже.

Операторы try-catch

Оператор try-catch должен иметь следующий вид:

try {
    statements;
} catch (ExceptionClass e) {
     statements;
}

Оператор try-catch также может быть дополнен блоком finally, который выполняется независимо от того, успешно завершился блок try, или нет.

try {
    statements;
} catch (ExceptionClass e) {
    statements;
} finally {
    statements;
}
PreviousОбъявления (Декларации)NextПропуски

Last updated 6 years ago