Отправил тестовое задание на позицию Android разработчика, но в ответ они написали: После ознакомления с тестовым заданием, мы отметили, что у вас недостаточный уровень знания принципов ООП и принципов построенийAndroid-приложений. Если вы подтянете свой уровень знаний, лучше изучите ООП и каким образом применять его принципы для построения приложений, то мы могли бы вернуться к вопросу рассмотрения вашей кандидатуры в будущем. Я самоучка, учился по книгам, статьям и т.д. , можете опытным глазом посмотреть что в моем коде не так в плане ООП и принципов построения? И как апргрейдить эти навыки? Код на gitHub, т.к. классов не один и не два https://github.com/Vlad161/Products
Ответ
Ответ работодателя очень похож на стандартную отписку, поэтому не стоит воспринимать его буквально. После просмотра вашего проекта (кстати, неплохо было бы написать, что именно от вас хотели, можно выдержку из тестового задания) остались такие замечания:
Имена классов. Обычно имена классов - существительные (JSONReadFromAsset стоило бы назвать JSONAssetReader). К тому же стоит придерживаться какого-то общего стиля именования (два класса-активити заканчиваются на Activity, третий почему-то нет).
Скорее всего от вас ждали минимальной реализации MVC. Стоило создать bean для хранения сведений о продукте и добавить уровень абстракции DAO для извлечения данных из файла. Как-то так:
public interface ProductDAO {
List
public class ProductDaoImpl implements ProductDAO {
public List
Таким образом вы бы отделили реализацию получения данных от логики их обработки, получив возможность изменять способ получения данных, не затрагивая основную логику программы.
Насчёт "подтянуть навыки ООП" - читайте Head First Design Patterns и GOF
Комментариев нет:
Отправить комментарий