Страницы

Поиск по вопросам

суббота, 29 декабря 2018 г.

Что не так в моем коде, и как подтянуть навыки?

Отправил тестовое задание на позицию Android разработчика, но в ответ они написали: После ознакомления с тестовым заданием, мы отметили, что у вас недостаточный уровень знания принципов ООП и принципов построенийAndroid-приложений. Если вы подтянете свой уровень знаний, лучше изучите ООП и каким образом применять его принципы для построения приложений, то мы могли бы вернуться к вопросу рассмотрения вашей кандидатуры в будущем. Я самоучка, учился по книгам, статьям и т.д. , можете опытным глазом посмотреть что в моем коде не так в плане ООП и принципов построения? И как апргрейдить эти навыки? Код на gitHub, т.к. классов не один и не два https://github.com/Vlad161/Products


Ответ

Ответ работодателя очень похож на стандартную отписку, поэтому не стоит воспринимать его буквально. После просмотра вашего проекта (кстати, неплохо было бы написать, что именно от вас хотели, можно выдержку из тестового задания) остались такие замечания:
Имена классов. Обычно имена классов - существительные (JSONReadFromAsset стоило бы назвать JSONAssetReader). К тому же стоит придерживаться какого-то общего стиля именования (два класса-активити заканчиваются на Activity, третий почему-то нет). Скорее всего от вас ждали минимальной реализации MVC. Стоило создать bean для хранения сведений о продукте и добавить уровень абстракции DAO для извлечения данных из файла. Как-то так:

public interface ProductDAO { List getProducts(); }
public class ProductDaoImpl implements ProductDAO { public List getProducts() { // здесь вытаскиваем список продуктов из JSON } }

Таким образом вы бы отделили реализацию получения данных от логики их обработки, получив возможность изменять способ получения данных, не затрагивая основную логику программы.
Насчёт "подтянуть навыки ООП" - читайте Head First Design Patterns и GOF

Комментариев нет:

Отправить комментарий