VKplayer(github)

Размещайте ссылки на ваши собственные приложения с целью пиара или для бета-тестирования.
Правила форума
О возможности разместить информацию о вашем приложении на главной странице сайта читайте здесь: http://startandroid.ru/ru/about/pomosch ... henii.html
Ответить
Realist
Сообщения: 134
Зарегистрирован: 08 фев 2014, 18:15

VKplayer(github)

Сообщение Realist » 20 янв 2015, 10:49

Летом планирую начинать искать работу андроид-разработчиком, поэтому решил (как тут советовали) написать большое приложение, а именно Вконтакте. Начал с аудиоплеера, потом наверно мессенджер и т.д. Прошу помочь советами по коду, думаю основные косяки будут видны сразу. Особенно помощь нужна по паттернам, где и какие можно применить.
https://github.com/Mezmeraizm/VKmusic
Спасибо!

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: VKplayer(github)

Сообщение altwin » 20 янв 2015, 11:18

Realist писал(а):Летом планирую начинать искать работу андроид-разработчиком, поэтому решил (как тут советовали) написать большое приложение, а именно Вконтакте. Начал с аудиоплеера, потом наверно мессенджер и т.д. Прошу помочь советами по коду, думаю основные косяки будут видны сразу. Особенно помощь нужна по паттернам, где и какие можно применить.
https://github.com/Mezmeraizm/VKmusic
Спасибо!
Почему не использовали их sdk? Вот сразу глядя на MyAdapter.java и имена переменных вроде listener1 / listener2 складывается впечатление, что тот, кто это писал либо просто смотрел в окно либо ему это не интересно. Да и делать приложение которое вам пришло в голову - не интересно и особенно в начале. Здесь была тема о собеседованиях и примеры приложений, которые можно сделать. Гораздо полезней было бы реализовать их и показать какая была задача и как эта задача реализованна. Просто взять и реализовать как удобно и то, что удобно реально после недели изучения sdk. Это никак не показывает ваши знания. Singleton.java - это тоже круто конечно, но вообще не понятно зачем оно там и что делает. Ну и важнее вопрс к примеру почему вы в нем используете ArrayList<Map<String, Object>>? Вы планируете брать элементы по индексу из середины массива? А знаете сколько раз вызовется arrayCopy при добавлении \ удалении очередного элемента и на сколько затратна эта операция? Почему не LinkedList? Почему вы не используете к примеру TreeMap?

Я не знаю кто вам тут советовал писать большое приложение, но это бред. Человек не имеющий опыта в нем сделает колличество ошибок, которое при приеме на работу в лучшем случае заставит забыть про это и начать с нуля. Да и не даст вам никто прийдя на работу писать приложение, в лучшем случае это будут не большие таски и куча доков для чтения. Вам нужно показать опыт решения задач и понимание того что и зачем происходит. Ответив на эти вопросы - идите и работайте, вам не нужно пытаться самому написать мордобук, от вас ждут понимания деталей ,а не красивого приложения которое магическим способом работает.

P.S. в любом случае если оно работает - публикуйте и развивайте, опыт продакшена вам пригодится и это как минимум будет весело. Но если ваша цель работа - основное что вам необходимо -это решать задачи, а не придумывать их для себя.


и как бы.. а тесты то кто писать будет? ;)
Изображение

Realist
Сообщения: 134
Зарегистрирован: 08 фев 2014, 18:15

Re: VKplayer(github)

Сообщение Realist » 20 янв 2015, 11:46

altwin писал(а): Почему не использовали их sdk?
Поначалу использовал, но на половине устройств не работала авторизация, поэтому решил сделать свое.
altwin писал(а):Singleton.java - это тоже круто конечно, но вообще не понятно зачем оно там и что делает.
Изначально была цель - научиться применять паттерны, но тут меня постигла неудача)) От отчаяния прилепил синглетон и наблюдатель, хотя оба они там конечно не нужны))
altwin писал(а): Я не знаю кто вам тут советовал писать большое приложение, но это бред.
Mikhail_dev=)
altwin писал(а): и как бы.. а тесты то кто писать будет? ;)
До этого пока не дошел

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: VKplayer(github)

Сообщение KamiSempai » 20 янв 2015, 12:07

altwin писал(а):Да и не даст вам никто прийдя на работу писать приложение, в лучшем случае это будут не большие таски и куча доков для чтения.
Вот с этим не согласен. Сейчас на рынке целая куча вакансий, где в штате всего 1 Android программист. Я когда работу менял, с этим столкнулся, куча стартапов где нужен только 1 программист и чем дешевле тем лучше. Причем собеседующий за частую не шибко разбирается в андроиде, поэтому готовое приложение будет самым весомым фактом в резюме.

Если же в фирме уже есть команда, то требования к соискателю намного выше. И там, естественно, на первое время, ни чего, кроме мелких задач, ждать не стоит.

В целом код смотрится неплохо. Мне понравилось. Для новичка выглядит красиво. Но есть ряд проблем, большинство из которых описаны altwin. Могу только добавить замечание про использование магических чисел (Вот тут: https://github.com/Mezmeraizm/VKmusic/b ... y.java#L54).
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: VKplayer(github)

Сообщение Mikhail_dev » 20 янв 2015, 12:20

Я не знаю кто вам тут советовал писать большое приложение, но это бред
Неужели какой-нибудь калькулятор или очередная книжка на 25 активностей будет лучшим вариантом, нежели что-то более-менее осмысленное и полезное? Я не вижу ничего интересного и полезного в очередных хеллоу вордах, которые тоннами лежат на маркете, при этом люди ничему не обучаются в этих случаях. В больших приложениях человек может натолкнуться сначала на одни грабли, потом на другие, решить их разными способами, изменить архитектуру, сменить инструмент и прочее. Разве это не полезно?
Может я неправильно интерпретировал большевитость приложения. Скажу так:
я против такого
viewtopic.php?f=50&t=5393
viewtopic.php?f=50&t=5317
и я за такое (ссылки на приложение в профиле)
memberlist.php?mode=viewprofile&u=2395
memberlist.php?mode=viewprofile&u=414
memberlist.php?mode=viewprofile&u=1347
viewtopic.php?f=50&t=4303

Realist
Сообщения: 134
Зарегистрирован: 08 фев 2014, 18:15

Re: VKplayer(github)

Сообщение Realist » 20 янв 2015, 12:21

KamiSempai писал(а):Могу только добавить замечание про использование магических чисел (Вот тут: https://github.com/Mezmeraizm/VKmusic/b ... y.java#L54).
Да, это позорище убрать не успел :D

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: VKplayer(github)

Сообщение KamiSempai » 20 янв 2015, 12:22

Кстати, касаемо получения параметров из URL.
Можно сделать намного проще и безопасней:
[syntax=java]Uri uri = Uri.parse(uriString);
if(uri != null) {
String stringToken = uri.getQueryParameter("access_token");
if(stringToken != null) {
String StringUserId = uri.getQueryParameter("user_id");
// Думаю, дальше понятно.
}
}[/syntax]
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: VKplayer(github)

Сообщение KamiSempai » 20 янв 2015, 12:27

Mikhail_dev писал(а):я против такого
viewtopic.php?f=50&t=5393
Чем тебе президенты не угодили? Вроде, нормальное приложение.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: VKplayer(github)

Сообщение altwin » 20 янв 2015, 12:55

Mikhail_dev писал(а):
Я не знаю кто вам тут советовал писать большое приложение, но это бред
Неужели какой-нибудь калькулятор или очередная книжка на 25 активностей будет лучшим вариантом, нежели что-то более-менее осмысленное и полезное? Я не вижу ничего интересного и полезного в очередных хеллоу вордах, которые тоннами лежат на маркете, при этом люди ничему не обучаются в этих случаях. В больших приложениях человек может натолкнуться сначала на одни грабли, потом на другие, решить их разными способами, изменить архитектуру, сменить инструмент и прочее. Разве это не полезно?
Может я неправильно интерпретировал большевитость приложения. Скажу так:
я против такого
viewtopic.php?f=50&t=5393
viewtopic.php?f=50&t=5317
и я за такое (ссылки на приложение в профиле)
memberlist.php?mode=viewprofile&u=2395
memberlist.php?mode=viewprofile&u=414
memberlist.php?mode=viewprofile&u=1347
viewtopic.php?f=50&t=4303
Миша, я вовсе не о том. Суть в том, что когда человек планирует получить первую работу, я тебе гаррантировать могу что "вау" эффекта от его приложения для работодателя в 99% случаев не будет и более того, чем больше приложение тем больше архитектурных багов вылезет наружу и меньше будет работать. Тут же есть тема для задач на подготовку к собеседованию, решать реальные задачи поставленные перед тобой другим человеком более полезно. Там тоже есть приложение работающее с vk \ картами и другие, и если показать работодателю хотябы 5 описанных в теме приложений с указанием поставленной задачи и демонстрацией результата в тех же 99% случаев место junior гаррантированно.

P.S. когда на собеседованиях дают таски из приложений, то редко кто их даже запускает, обычно как раз смотрят на именование классов и переменных, как и в целом на читаемость и понятность кода. Очень легко понять не только как давно человек этим занимается и уровень его понимания, но и то, на сколько ему это инетересно. И тут отсеиваются не только явные "отстающие" но и явные умники, поскольку работать в одной команде с физиокм ядерщиком - это проблема... помнится в epam ребята выжили одного такого просто потому, что его код хоть работал всегда и был эффективным, но для всей команды -это была магия и ниодин человек не мог понять как оно работает )) а задачи в которых нужно выдать готовое работающее решение обычно ставят совсем не junior, а тому, что может решить новую для компании задачу эффективней чем ее решают они сами.

По поводу команд с 1 программистом ( предыдущие комментарии ) - согласен полностью, но тут вопрос... нужно ли junior -у такая компания? Да есть исключения в крупных проектах где android редко в приоритете и просто нужна минимальная функциональность, на которой готовы учить и развивать по ходу, но их минимум.
Изображение

Ответить