1. Выбрасывать исключения вместо кодов возврата 2. Заменить проверку типа объекта с type() на isinstance(), а лучше вообще избавиться от проверки типов (сделать функции классов) 3. Сделать один интерфейс у ADCode и ADTest