Java Code Conventions / Соглашения по оформлению кода Java: Java Code Conventions

← →
Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

Файлы длиннее 2000 строк громоздки и их следует избегать.

belgita80 21.07.11 в 18:02

1

В качестве примера правильного оформления Java программы, см. "Java Source File Example" на стр. 19.

belgita80 21.07.11 в 18:03

2

3.1. Файлы исходники Java

belgita80 21.07.11 в 18:03

1

3.1. Исходный Java файл

kaysen 19.09.11 в 19:09

0

3.1 Исходные Java-файлы

EugeneL 15.01.12 в 14:26

0

Каждый файл Java исходника содержит один общий класс или интерфейс. Когда частные классы и интерфейсы связаны с общим классом, вы можете поместить их в том же исходном файле, где находится общий класс. Общий класс должен быть в таком случае первым классом или интерфейсом в файле.

belgita80 21.07.11 в 18:09

0

Каждый исходный Java файл содержит один public класс или интерфейс. Когда private классы и интерфейсы связанны с public классом, вы можете поместить их в тот же исходный файл что и public класс. Public класс должен быть первым классом или интерфейсом в файле.

kaysen 19.09.11 в 19:10

1

Файлы исходники Java имеют следующую структуру:

belgita80 21.07.11 в 18:11

0

Исходные Java файлы имеют следующую структуру:

kaysen 19.09.11 в 19:11

0

* Открывающие комментарии (см. "Открывающие комментарии" на стр. 4)

belgita80 21.07.11 в 18:12

0

* Сведения о пакете и импорте; например:

belgita80 21.07.11 в 18:13

0

import java.applet.Applet;

vapvap14 04.09.11 в 12:49

1

import java.awt.*;

vapvap14 04.09.11 в 12:50

1

import java.net.*;

vapvap14 04.09.11 в 12:50

1

* Объявление классов и интерфейсов (см "Объявление классов и интерфейсов" на стр. 4)

belgita80 21.07.11 в 18:15

0

3.1.1. Открывающие комментарии

belgita80 21.07.11 в 18:15

0

Все файлы исходники должны начинаться с комментария в стиле С, который дает список программиста(ов), дату, авторские права, а также краткое описание назначения программы. Например:

belgita80 21.07.11 в 18:17

0

/*

vapvap14 04.09.11 в 12:50

1

* Имя класа

vapvap14 04.09.11 в 12:50

1

*

vapvap14 04.09.11 в 12:50

1

* Информация об версий

vapvap14 04.09.11 в 12:50

0

Информация о версии

(анонимно) 05.07.12 в 11:56

0

*

vapvap14 04.09.11 в 12:50

0

* Примечание к копирайту

vapvap14 04.09.11 в 12:51

0

*/

vapvap14 04.09.11 в 12:51

1

3.1.2. Сведения о пакете и импорте

belgita80 21.07.11 в 18:18

0

Первая строка не-комментарий в большинстве исходников Java это сведения о пакете, после чего идут сведения о импорте. Например:

belgita80 21.07.11 в 18:19

0

package java.awt;

vapvap14 04.09.11 в 12:51

0

import java.awt.peer.CanvasPeer;

vapvap14 04.09.11 в 12:51

0

3.1.3 Объявление классов и интерфейсов

belgita80 21.07.11 в 18:22

0

Приведенная ниже таблица описывает объявление части класса или интерфейса в порядке их появления. См. "Пример файла исходника Java" на стр. 19 для примера с комментариями.

belgita80 21.07.11 в 18:30

0

|объявление части класса / интерфейса | примечания

belgita80 21.07.11 в 18:32

0

-----------------------------------------------------------------------------------

dimox 04.06.13 в 09:07

0

1 | комментарий по документации класса / интерфейса (/**...*/) | См. "Комментарии к документации" на стр. 9 для подробной информации, которая должна быть включена в этот комментарий.

belgita80 21.07.11 в 18:37

0

1 | Комментарии к документации класса/интерфейса (/**...*/) | Смотрите “Комментарии к документации” на стр. 9 с информацией о том, что должно быть в этом комментарии.

kaysen 19.09.11 в 19:16

0

2 | Операторы class или interface

kaysen 19.09.11 в 19:17

0

3 | Комментарии о реализации класса/интерфейса (/*...*/), если необходимо | Эти комментарии должны содержать расширенную информацию о классе/интерфейсе, которая не относится к комментариям документации класса/интерфейса

kaysen 19.09.11 в 19:18

0

4 | Статические переменные класса | Сначала public переменные класса, затем protected, затем пакетные (без спецификатора доступа) и затем private.

kaysen 19.09.11 в 19:19

0

5 | Не статические переменные | Сначала public, затем protected, затем пакетные (без спецификатора доступа) и затем private.

kaysen 19.09.11 в 19:20

0

6 | Конструкторы

kaysen 19.09.11 в 19:21

0

7 | Методы | Эти методы должны группироваться больше по функциональности чем по области видимости или доступности. Например, private метод класса может быть между двумя случайными public методами. Цель – сделать чтение и понимание кода проще.

kaysen 19.09.11 в 19:23

0

Отступы

sabaya 03.09.11 в 13:57

0

Один отступ должен содержать четыре пробела. Точный формат отступа (пробелы или знаки табуляции) не задан. Табуляция должна содержать 8 пробелов (не 4).

sabaya 03.09.11 в 14:00

0

4.1 Длина строки

sabaya 03.09.11 в 14:00

0

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

sabaya 03.09.11 в 14:07

0
+1

Замечание: для примеров, использующихся в документации, длина строки должна быть меньше - обычно не более 70 символов.

sabaya 03.09.11 в 14:06

0

Переносы строк

sabaya 03.09.11 в 14:10

0

В случах, кода выражение не входит на одну строку, сделайте переход на другую в соотвествии с этими общими принципами:

sabaya 03.09.11 в 14:11

0

* начинайте новую строку после запятой

sabaya 03.09.11 в 14:11

0

* начинайте новую строку после оператора

sabaya 03.09.11 в 14:11

0

* переходите на новую строку на более высоком уровне в коде

sabaya 03.09.11 в 14:27

0

* когда часть выражения переносится на новую строку, начинайте ее на том же уровне, на котором находится начало выражения

sabaya 03.09.11 в 14:44

0

* если правила, указанные выше, приводят к тому, что код плохо читается или слишком сдвинут вправо, то просто делайте отступ в 8 пробелов.

sabaya 03.09.11 в 14:46

0

Несколько примеров переноса строк для вызовов методов:

sabaya 03.09.11 в 14:47

0

function(longExpression1, longExpression2, longExpression3,

sabaya 03.09.11 в 14:47

0

longExpression4, longExpression5);

sabaya 03.09.11 в 14:47

0
Минутку...

← Предыдущая страница

Следующая страница →