Skip to content

Style guides

Vladislav Tankov edited this page Mar 19, 2017 · 23 revisions

Git

Commits should be written according to commit's template placed at the root of repository (.gitcommit file).

To use template, please, configure your local git configs. Execute this command at the root of the WMP repository: git config commit.template .gitcommit This will configure git to use current commit template.

HTML/CSS

Основные положения соответствуют следующему документу: https://google.github.io/styleguide/htmlcssguide.xml

Typescript

Основные положения соответствуют следующему документу: https://github.com/Platypi/style_typescript

Java

Основные положения соответствуют следующему документу: https://google.github.io/styleguide/javaguide.html

Но есть некоторые дополнительные требования.

Оформление исходного кода

В исходный код не нужно добавлять упоминаний о времени создания файла, авторе шедевра и любую другую информацию, не относящуюся к самому коду. Копирайты добавлять в шапку так же не нужно, так как файлы защищённые лицензией описаны в NOTICE.

Допустимая максимальная ширина строк -- 120 символов.

При переносе запятая или точка не переносятся.

Расположение членов класса

Секции внутри класса располагаются в следующем порядке:

  1. Статические поля класса
  2. Нестатические поля класса
  3. Конструкторы
  4. Статические методы
  5. Нестатические методы
  6. Переопределённые методы типа hashCode(), toString(), equals() и т.п.
  7. Геттеры-сеттеры
  8. Функция main()

Поля и методы внутри каждой секции предпочтительно располагать в соответствии с их уровнем доступа в следующем порядке: public, protected, package, private. Модификатор доступа должен быть указан явно, в случае пакетного уровня доступа (то есть отсутствия модификатора) в комментарии явно должна быть указана причина его использования.

Члены класса разделяются одной пустой строкой. Перед первым членом класса добавляется строка, после последнего строки нет.

Соглашение об именовании

Общие правила соответствуют следующему документу: http://www.oracle.com/technetwork/java/codeconventions-135099.html

Существуют некоторые не вошедшие в документ случаи:

  • Beans (бины) именуйте так же как переменные, то есть с начальной маленькой буквы, в CamelCase

Соглашение о документации

Общие правила соответствуют следующему документу: http://www.oracle.com/technetwork/articles/java/index-137868.html

Clone this wiki locally