Репозиторий содержит решения этой задачи с ulearn.me. Задача прошла код-ревью у преподавателя (баллы: 100/100). Все решения курса на максимальный балл также выложены в других репозиториях. Ветка unsolved содержит изначальный проект.
Конечное приложение - приложение для документации кода.
Если документация хранится отдельно от кода, она очень легко и быстро устаревает и становится неактуальной. Один из способов сохранять документацию в актуальном состоянии — это писать её максимально близко к коду. Иногда для этого используют атрибуты, информацию из которых извлекают и собирают с помощью рефлексии.
Вот эту технику вам и предстоит применить в этой задаче.
В файле Specifier реализуйте методы, возвращающие структурированное описание методов класса, ориентируясь на атрибуты, которыми этот класс размечен.
Начните с изучения класса VkApi
, на котором будет тестироваться ваш Specifier
. Это всего лишь пример класса, который мы хотим документировать, поэтому ни один метод там не реализован (и реализовывать их не нужно).
Изучите тест Specifier_should
. В нём зафиксированы требования к поведению вашей реализации ISpecifier
.