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

Материал из SEWiki
Перейти к: навигация, поиск
(FAQ)
(Домашние задания)
Строка 4: Строка 4:
 
== Домашние задания ==
 
== Домашние задания ==
 
* [http://mit.spbau.ru/sewiki/images/7/71/Java_hmw_2012_02_15.pdf Первое задание] срок сдачи: 15 февраля
 
* [http://mit.spbau.ru/sewiki/images/7/71/Java_hmw_2012_02_15.pdf Первое задание] срок сдачи: 15 февраля
 +
* [http://mit.spbau.ru/sewiki/images/2/2b/Java_hmw_2012_02_23.pdf Второе задание] срок сдачи: 23 февраля
 +
  
 
Присылать задачи нужно на почту <b>sergeynurk@gmail.com</b> с копией <b>anton.m.kuznetsov@gmail.com</b> и темой: <b>Java homework <фамилия> tasks 1,2,3...</b>
 
Присылать задачи нужно на почту <b>sergeynurk@gmail.com</b> с копией <b>anton.m.kuznetsov@gmail.com</b> и темой: <b>Java homework <фамилия> tasks 1,2,3...</b>

Версия 21:53, 16 февраля 2012

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

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


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

Вопросы можно задать по тому же почтовому адресу с темой Java question.

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

  • "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 методов, чем те, которые перечислены в условиях задач.
  • Добавление дополнительных уровней абстракции приветствуется в том случае, если вы готовы обосновать принятые вами решения.

FAQ

Q: Можно ли использовать finalize для закрытия открытых файлов?

A: Нет, нельзя. На лекциях обязательно будет разобрано почему.


Q: Нужно ли всегда использовать утилиту ant?

A: Нет, не нужно. С ней обязательно попрактикуемся отдельно, использовать ее не обязательно.


Q: Нужно ли присылать какие-либо файлы помимо .java (metadata, build.xml)?

A: Нет, не нужно. Стандартный манифест файл, генерируемой утилитой jar, конечно можно оставить в архиве.