Java
Содержание
Материалы с лекций
Домашние задания
- Первое задание срок сдачи: 15 февраля
Присылать задачи нужно на почту sergeynurk@gmail.com с темой: Java homework <фамилия> tasks 1,2,3...
Вопросы можно задать по почте с темой Java question или попытаться найти меня в кабинете 427.
Рекомендуемая литература
- "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 методов, чем те, которые перечислены в условиях задач.
- Добавление дополнительных уровней абстракции приветствуется в том случае, если вы готовы обосновать принятые вами решения.