Главная » Java, Структуры данных и алгоритмы » Написание программы на языке Java

0

Процесс написания программы на языке Java состоит из трех этапов:

1)                     проектирование,

2)                      кодирование,

3)                      проверка и отладка.

Рассмотрим каждый из этих этапов.

Проектирование

Этап проектирования является, вероятно, наиболее важным в процессе написания программы. Именно на стадии проектирования определяется, каким образом программа разбивается на классы, как осуществляется взаимодействие классов, какие данные будут содержаться в каждом из классов и какие действия они будут выполнять. Безусловно, одной из наиболее сложных проблем для начинающих Java-программистов является вопрос о том, какие классы необходимо описать для выполнения программы. Существуют, конечно, общие рекомендации, однако авторы предлагают несколько универсальных практических приемов, которые могут быть использованы при определении порядка описания классов.

• Режимы работы (поведение): в силу того что последствия каждого действия, выполненного классом, будут восприниматься всеми остальными классами, взаимодействующими с ним, необходимо четко и аккуратно производить описание режимов работы каждого класса. Эти режимы будут определяться методами, используемыми в классе. Иногда совокупность режимов работы класса называют протоколом, так как предполагается, что все режимы работы класса объединяются в единое целое.

Проектирование Java-программы состоит в описании классов, а также их переменных и методов. Навыки проектирования развиваются со временем, и в процессе работы на основании собственного опыта программисты могут заметить сходство определенных моделей требований к программе с теми моделями, с которыми они сталкивались ранее.

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

Некоторые программисты проводят проектирование с помощью карт CRC (Component-responsibility-collaborator) «Класс, событие и взаимодействие». Такие карты являются обычными карточками, которые используются для разделения на части процесса работы всей программы. Подобные карточки позволяют программистам последовательно совершенствовать организационную структуру и в конечном итоге добиться создания совокупности связных классов. Основная идея этого инструмента состоит в том, что каждая карточка представляет собой компонент, который, в конечном счете, становится классом создаваемой программы. Имя каждого компонента записывается сверху его учетной карточки. С левой стороны карточки указываются функции компонента, а с правой стороны — компоненты, с которыми описываемый компонент должен взаимодействовать для осуществления своих функций. Процесс проектирования состоит в повторении цикла «действие/исполнитель», 1з котором вначале определяется действие (функция), а затем — исполнитель (компонент), наилучшим образом соответствующий этому действию. Процесс проектирования завершается после определения исполнителей всех действий.

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

Еще одно средство проектирования программы — диаграммы унифицированного языка моделирования UML (Unified Modeling Language). Диаграммы UML являются стандартными визуальными средствами представления конструкций объектно-ориентированного программного обеспечения. Для построения диаграмм UML используются специальные автоматизированные средства.

Кодирование

После определения применяемых в создаваемой программе классов и сферы их деятельности можно приступать к кодированию. Создание кода классов осуществляется либо с помощью внешнего текстового редактора (например, emacs, notepad, vi), либо редактора, встроенного в интегрированную среду разработки (Integrated Development Environment — IDE), например, IBM VisualAge, Microsoft J++ или Symantec Visual Cafe.

После написания кода вызывается компилятор, который преобразует код, написанный на языке Java, в двоичный код. Если не применяется IDE, то создание двоичного кода ведется с помощью программы javac. При использовании IDE компиляция осуществляется нажатием соответствующей кнопки. При отсутствии в исходном коде программы синтаксических ошибок компилятор создаст файл с расширением «.class».

Синтаксические ошибки (при их наличии) будут обнаружены компилятором, после чего необходимо вернуться в текстовый редактор, исправить ошибки и повторить компиляцию. После устранения всех синтаксических ошибок и создания двоичного кода можно запустить созданную программу на выполнение с помощью команды java (если среда IDE не используется) или нажав кнопку run — «выполнить» (из среды IDE). В последнем случае управляющая среда IDE с помощью специальной переменной операционной системы определяет каталоги, содержащие названный класс, и все классы, на которые производятся ссылки из него. Эта переменная называется «CLASSPATH», а все каталоги, в которых осуществляется поиск, перечислены в ней через двоеточие (UNIX/LINUX) или точку с запятой (DOS/Windows). Например, операция присваивания значения переменной CLASSPATH в операционной среде DOS/Windows может выглядеть следующим образом:

SET CLASSPATH=.;C:\java;C:\Program Files\Java\

Операция присваивания значения переменной CLASSPATH в операционной среде UNIX/LINUX имеет, например, следующий вид:

setenv CLASSPATH ".:/us^ocal/java/lib:/usr/netscape/classes"

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

Программа javadoc

Чтобы обеспечить возможность использования имеющихся в исходном коде комментариев для автоматического создания документации, в среду программирования Java введена специальная программа документации javadoc. Эта программа работает с исходными файлами (исходным кодом), в которые внесены комментарии с помощью специальных меток — тегов, и создает документы формата HTML, описывающие классы, методы, переменные и константы из данных файлов. Авторы не применяли комментарии javadoc во всех примерах программ в книге, ограничившись фрагментом кода 1.5. Примеры применения таких комментариев имеются на упомянутом Web-сайте.

Комментарий javadoc представляет блок, который начинается сочетанием символов «/**» и заканчивается символами «[5]/»> а каждая строка внутри этих границ начинается звездочкой «*». Блок комментариев должен начинаться с описательного предложения, после которого следует пустая строка, а затем специальные строки, начинающиеся с тегов javadoc. Блок комментария, указанный перед описанием класса, метода или объявлением переменной, обрабатывается javadoc и преобразуется в соответствующий блок документации.

Г

*      Данный класс определяет координату точки (х,у) на плоскости.

*       

* ©author Michael Goodrich

7

public class XYPoint {

private double x,y; // private — переменные для обозначения // координат

Л*

*       Установка точки (х,у) в указанном месте

*       координата точки по оси х

*       координата точки по оси у

7

public XYPoint(double xCoor, double yCoor) { x = xCoor; у = yCoor;

}

Г*

*       Возвращает значение координаты x.

*       i

*       @ return x-coordinate

V

public double getXQ { return x; }

* ©return y-coordinate

public double getYQ { return y; }

}

Фрагмент кода 7.5. Пример описания класса с использованием комментариев javadoc, Обратите внимание: данный класс содержит только две переменные экземпляра, конструктор и два метода доступа

Существуют следующие основные javadoc-теги:

•    @ author текст: указывает автора класса (по одному в строке);

•             @ exception имя исключения: указывает причины ошибок, сообщаемые методом (см. раздал 2.3);

•     @ param имя параметра: указывает параметр, передаваемый в метод;

•             @ return описание: описывает тип и диапазон значений, возвращаемых методом.

Существуют и другие теги. Для более детального рассмотрения тегов следует обращаться к соответствующим электронным публикациям по документации javadoc.

Читабельность и стиль

\

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

Правила хорошего стиля неоднократно описывались и включают в себя, в том числе, следующие основные принципы:

Традиционно в Java подобные константы записываются прописными буквами:

Public class Student {

public static final int MIN_CREDITS = 12 // низшие оценки

// в четверти

public static final int MAX_CREDITS = 24 // высшие оценки

*                                                                                                                     // в четверти

public static final int FRESHMAN = 1 // код первокурсника public static final int SOPHOMORE = 2 // код второкурсника public static final int JUNIOR = 3 // код третьекурсника public static final int SENIOR = 4 // код выпускника

// Здесь приводятся описания переменных, конструкторов и метода… }

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

•                  при построении классов придерживайтесь следующей структуры:

1)                                                  константы,

2)                                                   переменные,

3)                                                  конструкторы,

4)                                                   методы.

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

•                          использование комментариев делает программу более понятной и помогает снять двусмысленность и объяснить непонятные конструкции. Внутритекстовые комментарии удобны для небольших объяснений и не обязательно должны быть предложениями. Блоки комментариев более подходят для объяснения задач метода и сложных частей кода.

Источник: Гудрич М.Т. Г93 Структуры данных и алгоритмы в Java / М.Т. Гудрич, Р. Тамассия; Пер. с англ. A.M. Чернухо. — Мн.: Новое знание, 2003. — 671 е.: ил.

По теме:

  • Комментарии