0,0
рейтинг
11 февраля 2015 в 13:00

Разработка → Устраняем пробелы, изучаем Android

Речь пойдёт не о пробелах в знаниях, но об этом чуть позже.

По старой привычке я по-прежнему читаю книги по программированию в бумажном варианте. В частности, про разработку под Android. Несколько лет назад с литературой по этой тематике на великом и могучем была напряжёнка. Сейчас положение немного выправилось. Я купил и прочитал, наверное, 99% всех выпущенных книг. Есть две проблемы с книгами. Первая — они однотипны в своей массе и рассказывают об одном и том же. Вторая проблема — значительная задержка в выпуске издания. Как правило, запаздывание происходит на 1-2 версии, что бывает достаточно критичным. Например, когда появились версии Android 3.0 и 4.0 с фрагментами, читать примеры создания приложений под Android 2.3 было глупо.

В далёком 2011 году вышла книга Android за 24 часа, которая, на мой взгляд, была одной из лучших. Мне понравился подход к раскрытию темы — брался один сквозной проект и постепенно усложнялся от часа к часу. Попутно объяснялись фундаментальные вещи на одном проекте. Было понятно, где и когда применять те или иные возможности.
На прошлой неделе случайно наткнулся в интернете на сообщение, что вышло новое издание с более длинным названием Создание приложений для Android за 24 часа с теми же авторами. И немедленно выпил купил.

При покупке меня немного смутило, что на обложке красовалась надпись 3-е издание. Видимо, отсчёт идёт от зарубежных изданий. Ладно, не будем придираться.

На этот раз авторы отказались от прежнего подхода и стали писать как все. Один час, одна тема, один проект. Затем всё по новой. В середине книге они временно вернулись к старому способу, когда в течение 4 уроков объясняли новые темы на примере одного проекта.

Начал читать. Уже к сороковой странице встретились две опечатки:



Прошли те времена, когда за подобное можно было и «партбилет на стол положить». Я общался с людьми, которые в советское время работали в издательском деле и знаю об этом не понаслышке. Теперь опечатками никого не удивишь, а в компьютерной литературе они встречались сплошь и рядом.
Но дальше моё изумление нарастало всё больше и больше.
Моему взору предстало предложение, написанное без единого пробела. Сразу вспомнился школьный немецкий язык, где длинные слова не были редкостью:



Если вы думаете, что была случайность, то вам ещё пример:



На самом деле, отсутствие пробелов встречается постоянно. Как будто, кто-то решил сэкономить на бумаге и сберечь лес. Иногда, в предложении не хватает одного пробела, иногда двух. Иногда их не существует как класса.



Оставим пока пробелы в покое. Обратимся к коду. Кстати, шрифт для кода мне не понравился, какой-то узкий и не слишком читаемый. Но я не шрифтовик, может чего-то не понимаю.

Смотрим на такой код:



Как вам? Две переменные с одинаковыми именами практически рядом. А принцип наименования из одного символа? Чего греха таить, я и сам лет пятнадцать назад в Visual Basic писал в таком же стиле для себя. Сейчас такой подход оправдан, наверное, только в js-библиотеках для уменьшения размера.

Потом авторы исправляются и стали давать кнопкам более осмысленные названия. Но хрен редьки не слаще.



По-моему, во всех современных языках существует негласное правило использовать глаголы для методов-функций.
Но только в этом случае.



Форматирование кода без отступов (борьба с пробелами, вы помните):



Ладно, отступы. Так убрали пробел между именем класса и переменной.
Случайность? Не думаю.



Код без ошибок — это фантастика. Программист не должен слепо копировать текст.

Снова «удачное название кнопки».



Оформление текста.
Методы в Java пишутся с маленькой буквы. Ну это такая мелочь. А вот Word при форматировании заменил их на большие, Word не может ошибаться (одна из версий, почему так произошло).



Но иногда можно сделать исключение и один пункт оставить с маленькой. Действительно, чего я придираюсь.



Таблицы оформлены с любовью, пробелы не пройдут!



Если потихоньку воруем пробелы, то давайте отсыплем читателю одиночных кавычек.



Удивительно, на страницах книги приводятся отрывки из кода, а где посмотреть полные исходники нигде не написано. Никаких упоминаний в книге не нашёл. На сайте российского издательства тоже. Пришлось искать сайт зарубежного издательства, и только там я нашёл ссылку на архив.

На страницах книги встретилась ремарка, что сей труд писался в июне 2013 года. Помните, я говорил об отставании в начале статьи. Это означает, что здесь вы не встретите материалы о Material (каламбур), а также упоминания про Android Studio. Многие начинающие разработчики воспринимают Eclipse и Android Studio как разные и не совместимые языки программирования (!). Не раз встречал подобные заявления на форумах, где люди отказывались изучать пример, если там встречалось слово Eclipse, с утверждением: «Ведь там всё по другому и работать у меня не будет».

Книга оставила у меня двойственное впечатление. С одной стороны, там освещаются интересные темы с использованием API для Flickr и Facebook.

Сдругойсторонывсеэтиопечаткиивойнаспробеламивесьмаозадачиламеня.

Счастливоговампрограммирования!
Александр Климов @tehnolog
карма
32,0
рейтинг 0,0
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (20)

  • 0
    Мда.
    Со своей стороны считаю одной из лучших книгу «Android 4. Программирование приложений для планшетных компьютеров и смартфонов». Пока не прочитал, конечно :)
    Листаю сейчас «Программирование под Android. Для профессионалов». Первое, что смутило, полное отсутствие модификаторов доступа для большинства полей классов. А методы — че уж там — в большинстве своем публичные. Ну, и код в книге отличается от лежащего в архиве. То ли заботливые переводчики правили по ходу, то ли даже не знаю.
  • 0
    Ну, теперь осталось для пользы дела посоветовать лучшую книгу по Android в вашем рейтинге. Тем более, что вы знакомы с большинством книг по этой теме. Что посоветуете?
    • 0
      Если честно, ни одна из прочитанных книг не поразила меня.
    • 0
      Из русского — ничего. Из английского — commonsware.com/Android/
      • 0
        Поддерживаю, отличная книга, оформил подписку после ознакомления.
    • 0
      Мне еще Android Programming: Pushing the Limits понравилась.
    • 0
      Читаю "Программирование для Android" (авторы Брайн Харди и Билл Филлипс).
      Отличная подача материала, легкое оформление, приятно читать.
  • +1
    Вы меня уж извините, но эти ФОТО для мазохистов судя по всему.
    Разное приближение, размытость :(
    Частично ведь можно было перепечатать код, раз уж на то пошло.

    А в целом — во многих книгах сейчас такое.
  • 0
    Наверное просто прогуардом по книге прошлись
    • –2
      ProGuard не ломает работоспособность кода.
      • 0
        Как-то раз он мне выпилил конструктор какого-то класса в релизной сборке, в ORMLite. И приложение падало сразу же при его запуске, чего не было в дебаг сборке.
        • 0
          Есть такое, ProGuard очень плохо дружит с рефлексией, что и сломало ORMLite, но такое поведение, на мой взгляд, очень логично для обфускатора.
  • +1
    Извините.
    НО (Пусть меня исправят. Буду рад...) Мне не попадались хорошие книжки с изучением за 24 часа.
    Вообще в последнее время бумажные книги меня страшно разочаровывают. Полиграфия в России не успевает за прогрессом.
  • 0
    Но иногда можно сделать исключение и один пункт оставить с маленькой.

    Тут, кстати, ошибка в последнем имени файла, а не в предпоследнем, как посчитал автор статьи. fragment_a.xml — это правильно, ну и, соответственно, правильно будет fragment_b.xml.
    • +1
      Положим, я этого не утверждал. Просто привёл пример непоследовательности.
  • –2
    ой, eclipse уж так прославился своей стабильностью работы с тупейшим плагином для андроида, что начинающие программисты все правильно делают ) если уж решили мучаться с ведром, то хотя бы боль с IDE нужно сокращать.
  • 0
    Справедливости ради. «Две переменные с одинаковыми именами практически рядом» — тут это не проблема, т.к. Button b — не final.
    • +1
      Это же не проблема работоспособности, это проблема «читаемости и воспринимаемости» кода.
  • 0
    Не видел ни одной нормальной книги по программированию, написанной русскими авторами. Да и книги зарубежных авторов лучше читать в оригинале, а не читать сомнительные переводы сделанные непонятно кем непонятно как.

    И еще, по-моему, читать книги в духе «Android за 24 часа» это совсем неправильно. Если цель — стать хорошим программистом, то 24 часа недостаточно даже для того, чтобы понять даже базовые вещи.

    Если говорить про Android, то лучший путь для изучения — подучить Java и пойти джуниором в какую-нибудь контору.
    Для самообразования лучшие из возможных источников — developers.android.com и vogella.com (второй — набор туториалов для новичков, поддерживаемый в весьма актуальном состоянии)
    • +1
      Проект StartAndroid нравится мне, как человеку, который кроме миди контроллера на базе Ардуино пару лет назад и пары учебных программ на Бэйсике ничего в жизни не писал.
      Тут книга в pdf — dl.dropboxusercontent.com/u/6197740/StartAndroid.pdf
      Тут сайт — startandroid.ru/ru/
      Тут канал на YouTube — www.youtube.com/user/vitaxafication/videos
      На сайте есть форум, где всегда могут помочь новичкам. Также, отвечают на вопросы в комментариях к видеоурокам. Например, на мой вопрос ответили целым видео.
      К тому же, существующие уроки (а их сотня) сейчас переводят в формат Andoid Studio, что очень удобно.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.