13. Спецкурс ОмГУ-2014
Класс –
один из способов реализации
абстрактного типа данных
Метод класса –
функция, имеющая доступ ко
всем данным класса
ООП (Java)
16. Спецкурс ОмГУ-2014
Интерфейс –
чистое описание контракта класса
В Java НЕТ множественного
наследования, есть реализация
нескольких интерфейсов
ООП (Java)
18. Спецкурс ОмГУ-2014
Принцип Единственной
обязанности (Single Responsibility)
– у контракта должно быть ровно
одно четкое предназначение
Признак нарушения –
невозможность подобрать
простое наименование
ООП (Java)
26. Спецкурс ОмГУ-2014
Уровни соглашений (по
возрастанию важности):
язык
фреймворк (библиотека)
компания (команда)
проект
предметная область
Соглашения
27. Спецкурс ОмГУ-2014
Именование классов: –
не использовать слова-связки
порядок: объект, имя
существительное – суть
контракта, дополнения и
определения
Соглашения
31. Спецкурс ОмГУ-2014
Именование переменных:
не использовать слова-связки,
объект, представляемый
переменной, возможно с
определением
Избегать: однобуквенных имен и
сильных сокращений слов
Соглашения
33. Спецкурс ОмГУ-2014
Классы в Java: CamelCased, с
большой буквы
Методы и переменные в Java:
camelCased, с маленькой буквы
Пакеты в Java: одно слово с
маленькой буквы, первые 2
уровня – развернутый домен
Соглашения
34. Спецкурс ОмГУ-2014
Форматирование кода –
правила записи операторов и
других конструкций языка,
расстановки пробельных
символов и скобок для
улучшения читабельности
Соглашения
37. Спецкурс ОмГУ-2014
JavaDoc – утилита для сборки
документации к проекту в
формате HTML
Иногда так называют сами
комментарии к классам и методам
Документирование
38. Спецкурс ОмГУ-2014
Пример для класса:
/**
* Provides a company employee
* entity
*/
class Employee {
Документирование
39. Спецкурс ОмГУ-2014
Пример для метода:
/**
* Counts employees in a given container
* @param employeeContainer a container of employees
* @return a count of employees in a given container
*/
int countEmployees(
final EmployeeContainer employeeContainer
) {
Документирование
44. Спецкурс ОмГУ-2014
Статический анализ –
просмотр кода при помощи
автоматизированных средств,
может выполняться IDE «на
лету», по триггеру или по
запросу
Анализ качества кода