Требования к исходному коду программ на языке java


Скачать 151.07 Kb.
Название Требования к исходному коду программ на языке java
Тип Реферат
rykovodstvo.ru > Инструкция по эксплуатации > Реферат


Требования к исходному коду программ на языке JAVA

Редакция 1.0 от ____.____.2008 г.

Страниц (включая титульную):

Согласовано

____________________________

________________

«_____»_________ 2008 г.

____________________________

________________

«_____»_________ 2008 г.

____________________________

________________

«_____»_________ 2008 г.

____________________________

________________

«_____»_________ 2008 г.

____________________________

________________

«_____»_________ 2008 г.

____________________________

________________

«_____»_________ 2008 г.

____________________________

________________

«_____»_________ 2008 г.

____________________________

________________

«_____»_________ 2008 г.

____________________________

________________

«_____»_________ 2008 г.

Утверждаю

____________________________

.

«_____»_________ 2008 г.

Содержание

Введение 4

Назначение документа 4

Рамки документа 4

Ссылки 4

Термины и определения 4

Размещение исходного кода 4

Форматирование исходных Java-файлов 5

Организация файла 5

Начальный комментарий 5

package и import инструкции 5

Определения классов и интерфейсов 6

Полный пример 6

Отступы 7

Длина строк и переносы 7

Пустые строки 7

Комментарии в исходных Java-файлах 7

Документирование исходного кода 8

Именование 8

Общие правила именования 8

Именование файлов 8

Именование пакетов 8

Именование классов и интерфейсов 8

Именование методов 8

Именование переменных 9

Именование констант 9

Декларации 9

Число деклараций на строку 9

Инициализация переменных 9

Расположение деклараций 9

Декларации классов и интерфейсов 10

Массивы 10

Инструкции 10

Простые инструкции 10

Составные инструкции 10

Инструкции if, if-else, if else-if else 11

Инструкция for 11

Инструкция while 11

Инструкция do-while 11

Инструкция switch 11

Инструкция try-catch 12

Обработка ошибок 12

Доступ к методам и переменным 12

Доступ к атрибутам класса 12

Доступ к статическим методам и переменным 12

Константы 12

Присваивание переменным 12

Оформление Java Server Pages (JSP) 13

Выполнение требований стандарта 13

Контроль соответствия разрабатываемого кода настоящему стандарту 13

Приложение А. Пример Java-кода 14


Введение

Назначение документа


Данный документ является корпоративным стандартом предприятия, определяющим требования к разработке исходного Java-кода. Документ входит в группу стандартов предприятия, определяющих требования к разработке исходного кода на языках программирования.

Задачи стандарта:

  • упростить поддержку программного обеспечения за счет унификации;

  • обеспечить возможность поддержки и развития программного продукта не его первоначальными авторами за счет улучшения читаемости исходного кода;

  • обеспечить возможность работы с исходным кодом (при его продаже в составе программного продукта) специалистам покупателя.

Рамки документа


В документе определены требования к разработке исходного Java-кода, в т.ч. требования к оформлению кода Java Server Pages (JSP).

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

Ссылки


При подготовке документа использованы рекомендации Sun Microsystems, Inc. по оформлению Java-кода, опубликованные по адресу http://java.sun.com/docs/codeconv/

Термины и определения


  • Исходные Java-файлы – файлы, содержащие определения Java-классов на языке Java.

  • JSP-файлы – файлы, содержащие код в формате JSP.

  • Исходный Java-код – исходные Java-файлы и JSP-файлы.

Размещение исходного кода


Весь разрабатываемый исходный код проекта помещается в единый репозитарий, поддерживающий контроль версий, многопользовательскую работу, аутентификацию, авторизацию, журналирование операций и возможность доступа через Internet. Например, SVN, CVS, Rational ClearCase, Microsoft Visual SourceSafe и т.п.

Выбор конкретного средства для хранения исходного кода определяется руководителем проекта в соответствии с особенностями проекта.

Форматирование исходных Java-файлов

Организация файла


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

Файлы размером свыше 2000 строк желательно разделять на несколько отдельных файлов.

Каждый исходный Java-файл может содержать только один public класс или интерфейс. Public класс или интерфейс должен быть определён первым в исходном java-файле.

Исходный Java-файл должен состоять из следующих составных частей (далее секций):

  • Начальный комментарий;

  • package и import инструкции;

  • Определения классов и интерфейсов.

Начальный комментарий


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

/*

* Copyright 2005-2006 ЗАО «Диасофт». All rights reserved.

*/

package и import инструкции


Следующим за описанием файла, без пробела, следует объявление пакета, затем через пробел должны идти объявления импортируемых классов или интерфейсов. Пример:

package ru.diasoft.richclient.ui.dynamic.impl;
import java.awt.Component;

import java.awt.Frame;

import java.awt.Window;
Порядок импорта должен быть разбит на следующие группы:

java
javax
org
net

com

ru
Между каждой группой импорта должен быть один пробел, внутри группы, импортируемые классы должны быть упорядочены по алфавиту. Не допускается использование символа * в инструкциях импорта (каждый импортируемый класс или интерфейс записывается отдельной строкой).

Пример:

package ru.diasoft.richclient.ui.dynamic.impl;
import java.awt.Component;

import java.util.Date;

import java.util.ResourceBundle;
import javax.swing.DefaultListModel;

import javax.swing.JList;
import org.apache.commons.lang.StringUtils;

import org.mozilla.javascript.Context;

import org.mozilla.javascript.Function;
import ru.diasoft.fa.platform.ui.swing.widget.WCheckBox;

import ru.diasoft.fa.platform.ui.swing.widget.WComboBox;

Определения классов и интерфейсов


Часть содержит определения классов и интерфейсов на языке Java и комментарии к ним.

Перед названием класса или интерфейса должен присутствовать комментарий содержащий информацию о авторе и номер версии файла, далее без пробела определение класса или интерфейса.

Пример:

/**

* @author Andrey Ivanov

* @version $Revision: 1.19 $

*/

public class Blah extends SomeClass {

/* A class implementation comment can go here. */
/** classVar1 documentation comment */

public static int classVar1;

public Blah() {

// …implementation goes here..

}

Полный пример


/*

* Copyright 2005-2006 ЗАО «Диасофт». All rights reserved.

*/

package ru.diasoft.richclient.ui.dynamic.impl;
import java.awt.Component;

import java.util.Date;

import java.util.ResourceBundle;
import javax.swing.DefaultListModel;

import javax.swing.JList;
import org.apache.commons.lang.StringUtils;

import org.mozilla.javascript.Context;

import org.mozilla.javascript.Function;
import ru.diasoft.fa.platform.ui.swing.widget.WCheckBox;

import ru.diasoft.fa.platform.ui.swing.widget.WComboBox;

/**

* @author Andrey Ivanov

* @version $Revision: 1.19 $

*/

public class Blah extends SomeClass {

/* A class implementation comment can go here. */
/** classVar1 documentation comment */

public static int classVar1;

public Blah() {

// …implementation goes here..

}






Отступы


В качестве единицы пространства для отступов слева от кода следует использовать 4 пробела.

Длина строк и переносы


Длина строк исходного Java-файла не должна превышать 120 символов

Если выражение не может уместиться в одну строку, то его следует разбить на несколько строк в соответствии со следующими принципами:

  • Строка может быть прервана после запятой;

  • Строка может быть прервана перед оператором;

  • При переносе выражения, вторая строка должна иметь отступ 8 пробелов по отношению к первой, все следующие строки должны быть выровнены по тому же уровню, что и вторая строка выражения.

Например:

//CONVENTIONAL INDENTATION

someMethod(int anArg, Object anotherArg, String yetAnotherArg,

Object andStillAnother) {



}

//INDENT 8 SPACES TO AVOID VERY DEEP INDENTS

private static synchronized horkingLongMethodName(int anArg,

Object anotherArg, String yetAnotherArg,

Object andStillAnother) {



}

Пустые строки


Пустые строки следует использовать для деления файла на логические части.

Две подряд пустые строки следует использовать в следующих случаях:

  • Между секциями исходного файла;

  • Между определениями классов и интерфейсов.

Одна пустая строка должна использоваться в следующих случаях:

  • Между методами;

  • Перед блочными и однострочными комментариями;

  • Между логическими частями внутри метода для увеличения его читаемости.

Комментарии в исходных Java-файлах


Исходный Java-файл может содержать комментарии двух типов

  • Комментарии, подобные C++, и определяемые символами /*…*/ или //

  • Комментарии для утилиты javadoc, определяемые как /**…*/

Комментарии, подобные C++, следует использовать в случае, если их предполагается читать только при непосредственном просмотре исходного кода.

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

Каждый public или protected класс, интерфейс, метод и атрибут должны содержать комментарий для построения документации утилитой javadoc.

Необходимость включения дополнительных комментариев определяется разработчиком или руководителем проекта.

Комментарии должны упрощать понимание исходного программного кода.

Документирование исходного кода


По исходному java-коду при помощи утилиты javadoc должна автоматически формироваться документация в HTML-формате.

Исходный код должен содержать достаточно комментариев для описания в создаваемой утилитой javadoc документации каждого public и protected класса, интерфейса, метода и атрибута.

Именование

Общие правила именования


Именование должно упрощать понимание программного кода и облегчать его чтение.

Имена пакетов, классов, методов и атрибутов и констант должны соответствовать реализуемой ими функциональности.

Именование файлов


Исходные Java-файлы должны иметь имя, совпадающее с именем содержащегося в них public класса или интерфейса и иметь расширение .java, в соответствии с правилами языка Java.

JSP-файлы должны иметь расширение .jsp и имя состоящее только из латинских букв, цифр и символов подчёркивания без пробелов. Имя JSP-файла должно соответствовать выполняемым им операциям.

Именование пакетов


Имена пакетов должны начинаться с ru.diasoft. и далее содержать уникальное имя, состоящее только из латинских букв нижнего регистра (ASCII 97-122) и точек в качестве разделителя подпакетов.

Пример:

package ru.diasoft.rual.eip.users;

Именование классов и интерфейсов


Классы именуются буквами смешанного регистра. С буквы верхнего регистра начинается каждое слово, составляющее имя класса, остальные буквы слова пишутся в нижнем регистре. Для именования классов следует использовать правильные слова английского языка. Не допускается использование сокращений, кроме общепринятых. В аббревиатурах верхний регистр следует использовать только для первой буквы аббревиатуры, остальные буквы аббревиатуры пишутся в нижнем регистре.

Пример:

public class HttpUserRepository {

...

Именование методов


Методы должны именоваться по тому же принципу, что и классы, но все имена методов и атрибутов должны начинаться с буквы нижнего регистра

Пример:

public void doSomething() {

// ...implementation goes here...

}

Именование переменных


Атрибуты и переменные именуются по тому принципу, что и методы, за исключением временных переменных, которые допускается именовать одной буквой.

Не допускается начинать имена переменных с символов “_” и “$”.

Именование констант


Имена констант должны состоять из букв верхнего регистра и символа _ в качестве разделителя строк. В именах констант не должны использоваться не общепринятые сокращения.

Пример:

static final int MAX_WIDTH = 999;

Декларации

Число деклараций на строку


Не допускается в одну строку включать несколько деклараций.

Пример правильных деклараций:

String managerName;

int code;

Пример неправильных деклараций:

String managerName; int code; // НЕДОПУСТИМО!

Инициализация переменных


Следует инициализировать переменные при объявлении в случаях, если начальное значение переменной не зависит от вычислений.

Расположение деклараций


Декларации должны располагаться в начале программных блоков.

Пример:

void myMethod() {

int int1 = 0; // beginning of method block
if (condition) {

int int2 = 0; // beginning of "if" block

...

}

}

Не допускается во вложенных блоках использовать имена переменных, совпадающие с именами внешних блоков

Пример:

int count;

...

myMethod() {

if (condition) {

int count = 0; // НЕДОПУСТИМО!

...

}

...

}

Декларации классов и интерфейсов


В декларациях классов и интерфейсов следует соблюдать следующие принципы:

  • Символ «{» должен находиться в конце первой строки декларации;

  • Символ «}» должен быть единственным символом последней строки декларации, за исключением пустых деклараций, которые могут быть записаны целиком в одну строку;

  • Между именем методов и символом «(», начинающим список параметров, не должно быть пробелов.


Массивы


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

Пример:

int[] array1 = new int[] {1, 2, 3};

int[] array2 = new int[] { 1, 2, 3 }; // НЕДОПУСТИМО!

Инструкции

Простые инструкции


Каждая строка должна содержать не более одной инструкции.

Пример правильного оформления инструкций:

argv++; // Correct

argc--; // Correct

Пример неправильного оформления инструкций:

argv++; argc--; // НЕДОПУСТИМО!

Составные инструкции


Составные инструкции - это инструкции, состоящие из набора инструкций, заключённого между символами «{» и «}».

При оформлении составных инструкций следует соблюдать следующие принципы

  • Вложенные инструкции должны оформляться с отступом по отношению к внешней инструкции;

  • Символ «{», начинающий вложенные инструкции, должен находиться в конце первой строки внешней инструкции;

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

  • Завершающий символ «}» составной инструкции должен располагаться на уровне первого символа первой строки составной инструкции.

Пример:

if (condition) {

namagerName=username[count];

count++;

} else {

return false;

}

Инструкции 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;

}

Инструкция for


Инструкция for оформляется следующим образом:

for (initialization; condition; update) {

statements;

}

Для пустой инструкции for следует использовать форму:

for (initialization; condition; update);

Инструкция while


Инструкция while оформляется следующим образом:

while (condition) {//Наличие пары скобок обязательно(даже если один оператор)

statements;

}

Для пустой инструкции while следует использовать форму:

while (condition);

Инструкция do-while


Инструкция for оформляется следующим образом:

do {

statements;

} while (condition);

Инструкция switch


Инструкция switch оформляется следующим образом:

switch (condition) {

case ABC:

statements;

/* falls through */
case DEF:

statements;

break;
case XYZ:

statements;

break;
default:

statements;

break;

}

Инструкция try-catch


Инструкция try-catch оформляется следующим образом:

try {

statements;

} catch (ExceptionClass e) {

statements;

}
В случае использования finally:

try {

statements;

} catch (ExceptionClass e) {

statements;

} finally {

statements;

}

Обработка ошибок


Для обработки ошибок следует использовать механизм Exceptions (см. п. Инструкция try-catch)

Доступ к методам и переменным

Доступ к атрибутам класса


Не следует объявлять атрибуты класса как public без особых на то причин. Предпочтительно предоставлять доступ к атрибутам опосредовано через методы с именами, начинающимися с get для чтения значения атрибута и с set для установки нового значения.

Доступ к статическим методам и переменным


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

Пример:

classMethod(); //OK

AClass.classMethod(); //OK

anObject.classMethod(); //НЕДОПУСТИМО

Константы


Числовые константы не следует использовать в непосредственной форме, за исключением –1, 0 и 1 в счетчиках циклов for.

Присваивание переменным


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

Пример:

fooBar.fChar = barFoo.lchar = 'c'; // НЕЖЕЛАТЕЛЬНО

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

Пример:

d = (a = b + c) + r; // НЕДОПУСТИМО

Следует записать:

a = b + c;

d = a + r;

Оформление Java Server Pages (JSP)


В JSP не следует использовать Java-код непосредственно в JSP-файле. В место этого следует использовать технологию TagLibrary.

JSP-файл должен содержать только HTML-текст и JSP-теги (в т.ч. теги TagLibrary). Весь Java-код должен быть реализован как классы TagLibrary и находиться в отдельных Java-файлах, оформляемых в соответствии с данным стандартом.

JSP-теги оформляются в соответствии с общими правилами для HTML тегов, изложенными в Стандарте Кодирования на HTML.

Выполнение требований стандарта


Разрабатываемый в компании Java-код должен разрабатываться в соответствии с настоящим стандартом.

Выполнение требований данного стандарта обязательно для всех специалистов компании участвующих в разработке кода на Java.

Разрабатываемый программный Java-код может не соответствовать настоящему стандарту только в случае, если заказчик разрабатываемого решения предъявляет иные требования к оформлению программного кода. Решение о несоблюдении настоящего стандарта принимается руководителем проекта.

Контроль соответствия разрабатываемого кода настоящему стандарту


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

Приложение А. Пример Java-кода



/*

* Copyright 2005-2006 ЗАО «Диасофт». All rights reserved.

*/

package ru.diasoft.blah;
import java.blah.blahdy.BlahBlah;

/**

* @author Andrey Ivanov

* @version $Revision: 1.19 $

*/
public class Blah extends SomeClass {

/* A class implementation comment can go here. */
/** classVar1 documentation comment */

public static int classVar1;
/**

* classVar2 documentation comment that happens to be

* more than one line long

*/

private static Object classVar2;
/** instanceVar1 documentation comment */

public Object instanceVar1;
/** instanceVar2 documentation comment */

protected int instanceVar2;
/** instanceVar3 documentation comment */

private Object[] instanceVar3;
/**

* ...constructor Blah documentation comment...

*/

public Blah() {

// ...implementation goes here...

}
/**

* ...method doSomething documentation comment...

*/

public void doSomething() {

// ...implementation goes here...

}
/**

* ...method doSomethingElse documentation comment...

* @param someParam description

*/

public void doSomethingElse(Object someParam) {

// ...implementation goes here...

}

}



Москва

Похожие:

Требования к исходному коду программ на языке java icon Программа дисциплины «Программирование на языке java»
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направлений подготовки 231000....
Требования к исходному коду программ на языке java icon Программа «Основы программирования на java»
Изучая основы программирования на языке Java, ребята учатся создавать реально действующие кроссплатформенные программы, которые могут...
Требования к исходному коду программ на языке java icon Программа простого tcp/ip клиента (SampleClient java) 4
Так же рассказывается о том, как пишутся и используются программные модули, ориентированные на построение www и научить работе с...
Требования к исходному коду программ на языке java icon Андрианова а. А
Практикум по программированию на языке Java.: Учебное пособие/ О. В. Пинягина, О. А. Кашина, А. А. Андрианова – Казань: Казанский...
Требования к исходному коду программ на языке java icon Программирование на языке ассемблера в системе msx-2 Владивосток
Кувт "yamaha". Рассмотрен процесс создания и выполнения программ на языке ассемблера, организации их связи с программами на языках...
Требования к исходному коду программ на языке java icon Кафедра систем автоматизированного проектирования
Сформировать системное базовое представление, первичные знания, умения и навыки студентов по основам программирования на объектно-ориентированном...
Требования к исходному коду программ на языке java icon Руководство пользователя Книга №1 Общие принципы работы в Системе
«Юридическое лицо» в процессе выполнения Java-апплета будет отображен логотип Java. 9
Требования к исходному коду программ на языке java icon Инструкция по настройке Java для портала суфд (на примере Java 8 update 131)
Переходим на вкладку Advanced и выставляем переключатели так как показано на картинке
Требования к исходному коду программ на языке java icon Конвертор байт-кода Java в cil
В данной работе рассматривается задача эффективного конвертирования байт-кода виртуальной машины Java [1] в байт-код Common Intermediate...
Требования к исходному коду программ на языке java icon Программа государственного экзамена по направлению
Основы программирование на Java. Ключевые особенности. Файловая структура Java. Области видимости имен. Операции наследования и перекрытие...
Требования к исходному коду программ на языке java icon Пинягина о. В., Кашина о. А., Андрианова а. А
Практикум по программированию на языке Java.: Учебное пособие/ О. В. Пинягина, О. А. Кашина, А. А. Андрианова – Казань: Казанский...
Требования к исходному коду программ на языке java icon Верификация программ с помощью языка Promela
Пакет Spin позволяет строить модели параллельных программ и широкого класса дискретных систем, выражать требуемые свойства их поведения...
Требования к исходному коду программ на языке java icon Программа государственного экзамена по направлению 02. 04. 01 «Математика и компьютерные науки»
Основы программирование на Java. Ключевые особенности. Файловая структура Java. Области видимости имен. Операции наследования и перекрытие...
Требования к исходному коду программ на языке java icon Клиент-серверные технологии
П. Ноутон, Г. Шилдт java 2 [Электронный ресурс] Book Ноутон Шилдт java 2 Наиболее полное руководство pdf
Требования к исходному коду программ на языке java icon Дипломная работа
Средства анализа эффективности выполнения программ на языке Fortran dvmh на кластере с графическими процессорами
Требования к исходному коду программ на языке java icon Организации
Число новых основных профессиональных образовательных программ на русском языке, руководителем которых является кандидат

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск