Целью стандартов написания кода является достижение стандартизации процесса кодирования и развитие хороших поведенческих привычек для будущей разработки программ.
Область использования спецификаций написания кода: разработка проектов J2EE.
Соглашение об именовании пакетов:
Цель: соглашение об именах пакетов должно отражать правильное разделение ресурсов проекта.
Соглашение об именовании пакета, в котором расположен класс сервлета: имя компании.имя группы разработки.имя проекта.web.servlet.
Например: net.linkcn.web.servlet.
Соглашение об именовании пакета, в котором находится класс пользовательского тега: имя компании.имя группы разработки.имя проекта.web.tags.
Например: net.linkcn.web.tags.
Соглашение об именовании пакета, в котором расположен класс фильтра: имя компании.имя группы разработки.имя проекта.web.filter.
Например: net.linkcn.web.filter.
Соглашение об именовании пакета, в котором расположен класс Action: имя компании.имя группы разработки.имя проекта.web.struts.action.
Например: net.linkcn.web.struts.action.
Соглашение об именовании пакета, в котором расположен класс ActionForm: имя компании.имя группы разработки.имя проекта.web.struts.form.
Например: net.linkcn.web.struts.form.
Соглашение об именовании пакета Javabean: имя компании, имя проекта web.struts.service.impl.
Например: net.linkcn.web.service.impl.
Соглашение об именовании интерфейса реализации Javabean: название компании. Имя группы разработки. Имя проекта.web.service.
Например: net.linkcn.web.service.
Соглашение об именовании пакета, в котором находится класс DAO: имя компании.имя группы разработки.имя проекта.dao.impl.
Например: net.linkcn.dao.impl.
Интерфейс, реализованный классом DAO, имеет в пакете соглашение об именовании: имя компании.имя группы разработки.имя проекта.dao.
Например: net.linkcn.dao
Соглашение об именовании пакета, в котором расположены файлы класса POJO и hbm: имя компании, имя группы разработки.dao.hbm.
Например: net.linkcn.dao.hbm.
Соглашение об именовании пакета, в котором расположены глобальные общедоступные классы и классы интерфейса: название компании.Имя группы разработки.Имя проекта.глобальный.
Например: net.linkcn.global
Соглашение об именовании пакета, в котором расположен глобальный класс инструмента: имя компании.имя группы разработки.имя проекта.util.
Например: net.linkcn.util
Соглашение об именах классов. Основное соглашение об именах:
Соглашение об именах классов и интерфейсов: начинайте с заглавной буквы. Если слов несколько, начинайте с заглавной буквы. Например: StudentInfo.
Соглашение об именах интерфейсов: начинайте с заглавной буквы «I», если слов несколько, делайте их первой буквой с заглавной. Например: IStudentInfo.
Именование класса реализации интерфейса:
Соглашение об именовании: удалите первую букву «I» из имени реализованного интерфейса и завершите его словом «Impl». Если имеется несколько слов, начинайте каждое слово с заглавной буквы.
Например: СтудентИнфоИмпл.
Соглашение об именовании платформы J2EE+SSH
Именование класса сервлета:
Соглашение об именах: заканчивается словом Servlet. Например: LoginServlet.
Именование POJO:
Просто используйте классы, автоматически созданные в спящем режиме.
Именование классов DAO:
Просто используйте классы, автоматически созданные в спящем режиме.
Именование класса действия:
Соглашение об именовании: именование действий основано на имени POJO, имени POJO Action.
Например:
Имя POJO — Diary, а соответствующее ему действие — DiaryAction.
Именование класса ActionForm:
Соглашение об именовании: Именование ActionForm определяется именем POJO и формой имени POJO.
Например:
Имя POJO — Diary, а соответствующая ему actioForm — DiaryForm.
Именование интерфейса бизнес-логики:
Соглашение об именах: Именование интерфейса бизнес-логики определяется именем POJO, а имя IPOJO — Service.
Например:
Имя POJO — Diary, а соответствующий ему интерфейс бизнес-логики — IDiaryService.
Именование классов реализации бизнес-логики:
Соглашение об именах: Именование класса реализации интерфейса бизнес-логики основано на имени POJO. Например:
POJO называется Diary, а соответствующий класс реализации интерфейса бизнес-логики — DiaryServiceImpl.
Именование переменных класса:
Соглашение об именовании: первая буква имени переменной должна быть строчной. Если имя переменной состоит из нескольких слов, первая буква последующих слов должна быть заглавной. Не используйте «_» для соединения слов. Имя переменной должно быть частным. Вы можете добавить методы установки и получения.
Например: частный int StudentAge;
public int getStudentAge()
{
вернуть студенческий возраст;
}
общественная недействительность setStudentAge (int StudentAge)
{
this.studentAge=studentAge;
}
Постоянное именование:
Соглашение об именах: все буквы пишутся заглавными буквами. Если слов несколько, они должны быть разделены знаком «_». И переменная должна иметь открытый, статический, окончательный тип. Например: public static Final String USER_NAME="userName";
Соглашение об именах методов: первая буква должна быть строчной. Если имя переменной состоит из нескольких слов, первая буква следующих слов должна быть заглавной. Не используйте «_» для соединения слов. Не используйте существительные вместо слов.
Например: public int checkLogin(String name, String pwd){}
Спецификации аннотаций. Спецификации аннотаций являются наиболее важным компонентом всей спецификации разработки и должны строго соблюдаться.
Примечания к классу:
Функция: аннотируйте весь класс и кратко опишите функцию класса.
Соглашение о написании: аннотации класса должны быть написаны до синтаксиса объявления класса. В комментариях опишите основную функцию класса, автора, дату, версию, название компании и заявление об авторских правах.
Формат:
/* *
* Описание функции класса: (приблизительно опишите функцию класса)
* @author: имя автора
*
* @version: Номер версии файла класса начинается с 1.0 (дополнение и изменение номера версии определите самостоятельно
* Ситуация), статус модификации (время модификации, автор, статус модификации)
*
* @see имя пакета. Ссылка на имя класса (перечислить родительские классы, ввести классы, каждый класс занимает одну строку), если таковой имеется.
*можно опустить
* Соответствующие данные, такие как: (для облегчения понимания некоторых постоянных данных этого класса и формата некоторых данных
* Или данные, которые считаются важными, если они недоступны, их можно опустить)
*/
Синтаксис объявления класса следующий:
/**
*
Название:Класс обработки данных модуля администратора
*
Описание: Добавить два числа.
*
Авторское право: Авторское право (c) 2007 г.
*
Компания:Компания по разработке программного обеспечения Huateng
*
* @author Тонг Джинху
*
* @version $Редакция: 1.7 $ $Дата: 08.07.2007$
*/
публичный класс AdminDAO
Переменные и постоянные комментарии:
Функция: Кратко опишите значение этой переменной.
Стандарты написания: комментарии к переменной должны быть написаны перед ее определением, кратко описывая ее значение.
Формат:
/**
* Описание функции переменной: (приблизительно опишите функцию переменной)
*/
Например:
/**
*Определить возрастную переменную
*/
общественный возраст;
Комментарии к методу:
Функция: краткое описание функции метода, аннотации о значении его параметров и возвращаемых значений.
Соглашение о написании: комментарии к методу должны быть написаны перед его определением. Аннотация включает в себя: краткое описание функции метода, краткое описание параметров метода, тип возвращаемого значения и значение возвращаемого значения.
Формат:
/**
*Описание функции метода
* @param args (тип параметра можно писать после параметра или можно опустить)
* Опущено. Каждый параметр занимает одну строку)
* выходные параметры @return (несколько ситуаций записаны в одной строке)
* @see class #reference метод (методы, связанные с вызовом этого метода, приведены для справки
* Для экзаменов не обязательно перечислять все методы полностью. Необходимо выбрать осмысленные.
*Методы занимают одну строку)
* Класс обработки исключений @Exception (исключения, которые могут быть выброшены в методе, каждое
*Исключения занимают одну строку)
*/
Например:
/**
* Изменить пароль администратора
* @param adminId номер администратора
* @param oldPassword старый пароль
* @param пароль новый пароль
* @return boolean, если редактирование прошло успешно
* @throws UserException
* @throws ServiceException
*/
public booleaneditAdminPassword(int adminId,String oldPassword,
Строковый пароль) выдает UserException,ServiceException;
Именование страницы Jsp:
Соглашение об именах: имя страницы jsp должно начинаться со строчной буквы. Если оно состоит из нескольких слов, последующие слова должны начинаться с прописной буквы. Имя должно отражать смысл страницы и желательно быть связано с названием модуля.
Например:
login.jsp — страница входа
Register.jsp --Страница регистрации
message.jsp — страница сообщений клиента.
Спецификации организации папок проекта проекта J2EE:
Цель: Стандартизировать форму организации ресурсов веб-приложений учащихся и сформировать хорошие навыки организации файлов. Организация документа должна отражать разделение на модули.
Согласно характеристикам инструмента eclipse, структура каталогов проекта следующая:
источник
----Хранение Java-файлов
Вебрут
|--images --сохранять общедоступные изображения, необходимые веб-программам
|--css — хранит общедоступные таблицы стилей, необходимые веб-программам.
|--js --Сохранять общедоступные файлы js, необходимые веб-программам
|--commons --сохранять общедоступные файлы, необходимые веб-программам
|--Папка функционального модуля (для хранения ресурсов, связанных с определенным функциональным модулем)
|--images --сохранить изображения, относящиеся к этому функциональному модулю
|--css --Сохраняет файлы таблиц стилей, относящиеся к этому модулю.
|--js --Сохранять js-файлы, относящиеся к этому модулю
|--jsp, html-страница
|--ВЕБ-ИНФ
|--классы
|--lib
|--tld файл
Спецификации представления проекта J2EE. Когда проект завершен, он должен быть доставлен пользователю как продукт. Хорошие спецификации организации проекта позволяют пользователям легко находить ресурсы, необходимые для проекта, а также являются отражением профессионализма компании. При подаче проекта он должен быть представлен в следующем формате файла.
Основная папка проекта:
Функция: хранить другие файлы ресурсов проекта.
Соглашение об именовании: класс_времени, номер_группы X.
Например: 070706_GS2T18_Группа 4.
Основная папка проекта включает в себя следующие папки и файлы:
|--src: сохранить файл .java.
|--database: сохраните файл сценария или файл резервной копии базы данных.
|--source: сохраните все файлы в каталоге WebRoot проекта eclipse.
|--dependent: сохраните другие jar-файлы, которые необходимо использовать при компиляции программы.
|--javadoc: сохраните документацию API Javadoc, созданную всеми классами.
|--war: архивный файл для сохранения программы
|--xx.war: Файл проекта упакован и может быть запущен напрямую.
|--project: сохраните исходный инженерный код и файлы проекта разработки.
|--Руководство по продукту.doc: Показывает, как использовать продукт в изображениях и тексте.
|--build.xml: ant-скрипт, используемый для создания запущенных военных файлов.
|--Проект объяснение.ppt: ppt для объяснения проекта (ppt предназначен только для использования в проектах школьного моделирования, а не для других коммерческих целей)
Примечание. В законченном проекте база данных должна содержать определенное количество действительных тестовых данных для поддержки работы программы.