Java — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
(Отмена правки 925 участника Sergey.kazenyuk (обсуждение))
(Некоторые требования к коду)
Строка 16: Строка 16:
 
В первую очередь обратите внимание на Naming Conventions. Настоятельно рекоммендуется отдавать предпочтение длинным мнемоническим идентификаторам.
 
В первую очередь обратите внимание на Naming Conventions. Настоятельно рекоммендуется отдавать предпочтение длинным мнемоническим идентификаторам.
  
== Некоторые требования к коду ==
+
== Некоторые требования ==
 +
 
 +
=== Форма поставки кода ===
 +
Задания должны присылаться в jar архивах. В архивы включаются <b>только ваши исходники</b> (.java файлы).
 +
 
 +
Для создания архивов используйте [http://docs.oracle.com/javase/tutorial/deployment/jar/build.html утилиту jar].
 +
 
 +
Каждая задача должна находиться в пакете <b>ru.spbau.<ваша фамилия>.task<# задания></b>
 +
 
 +
Можете складывать несколько заданий в один архив.
  
 
=== Javadoc ===
 
=== Javadoc ===
Ко всем классам, интерфейсам и public/protected полям и методам должен быть написан <b>осмысленный</b> javadoc на грамотном английском языке.  
+
Ко всем классам, интерфейсам и public/protected полям и методам <b>должен быть написан</b> осмысленный [http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html#requiredtags javadoc] на грамотном английском языке.  
  
Javadoc должен быть валидным (в частности, содержать все required тэги). Настоятельно рекоммендуется использовать консольные или встроенные в IDE средства проверки валидности javadoc. О том как писать javadoc.
+
Javadoc должен быть валидным (в частности, содержать все [http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html#requiredtags required tags]).  
  
Пример хорошего javadoc-а можно найти в любом классе стандартной библиотеки
+
Настоятельно рекоммендуется использовать консольные или встроенные в IDE <b>средства проверки валидности javadoc</b>.
 +
 
 +
Пример хорошего javadoc-а можно найти в любом классе стандартной библиотеки.
  
 
=== Exceptions ===
 
=== Exceptions ===
Строка 29: Строка 40:
  
 
Распространенные недочеты:
 
Распространенные недочеты:
 +
* Использование исключений для управления логикой программы
 
* Оборачивание проверяемых исключений в непроверяемые
 
* Оборачивание проверяемых исключений в непроверяемые
* Пустые catch блоки  
+
* Подавление исключений (Пустые catch блоки)
* Отсутствие вывода <b>читаемой</b> полезной информации в catch блоках
+
* Отсутствие вывода <b>читаемой</b> полезной информации в блоках обработки ошибок
 
* Некорректное освобождение используемых ресурсов (в первую очередь, открытых ранее файлов)
 
* Некорректное освобождение используемых ресурсов (в первую очередь, открытых ранее файлов)
 +
 +
== Общие замечания ==
 +
* Некоторым вашим классам может понадобиться больше public методов, чем те, которые перечислены в условиях задач.
 +
* Добавление дополнительных уровней абстракции приветствуется в том случае, если вы готовы обосновать принятые вами решения.
  
 
== Полезные ссылки ==
 
== Полезные ссылки ==

Версия 00:48, 9 февраля 2012

Материалы с лекций

Домашние задания

Присылать задачи нужно на почту sergeynurk@gmail.com с темой: Java homework <фамилия> tasks 1,2,3...

Рекомендуемая литература

  • "Thinking in Java", Bruce Eckel
  • "Effective Java", Joshua Bloch

Coding conventions

В отличие от C++, для Java есть общепринятые coding conventions от компании Sun.

В первую очередь обратите внимание на Naming Conventions. Настоятельно рекоммендуется отдавать предпочтение длинным мнемоническим идентификаторам.

Некоторые требования

Форма поставки кода

Задания должны присылаться в jar архивах. В архивы включаются только ваши исходники (.java файлы).

Для создания архивов используйте утилиту jar.

Каждая задача должна находиться в пакете ru.spbau.<ваша фамилия>.task<# задания>

Можете складывать несколько заданий в один архив.

Javadoc

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

Javadoc должен быть валидным (в частности, содержать все required tags).

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

Пример хорошего javadoc-а можно найти в любом классе стандартной библиотеки.

Exceptions

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

Распространенные недочеты:

  • Использование исключений для управления логикой программы
  • Оборачивание проверяемых исключений в непроверяемые
  • Подавление исключений (Пустые catch блоки)
  • Отсутствие вывода читаемой полезной информации в блоках обработки ошибок
  • Некорректное освобождение используемых ресурсов (в первую очередь, открытых ранее файлов)

Общие замечания

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

Полезные ссылки